文件处理I/O C 错误
file handling I/O c++ error
这是我要运行的代码。编译器显示了一些警告,该警告说,可以使用变量" P"。 在运行它的..我会显示的..贝洛。 请纠正我并解释。 谢谢。 执行代码 * 代码 这个错误是..要输出的字符数组的前两个元素有些混乱!!!*
#include<bits/stdc++.h>
using namespace std;
class file{
public:int a;
char* name;
public:
file(int x,char* b):a(x){name=b;}
void printfile(){cout<<a<<" "<<name<<endl;}
};
int main(){
char *p;
int x=10;
cout<<"enter a name"<<endl;
cin>>p;
file k(x,p);
ofstream f("file",ios::out|ios::binary);
f.write((char*)&k,sizeof(class file));
f.close();
ifstream of("file",ios::in|ios::binary);
file o(0,' ');
of.read((char*)&o,sizeof(class file));
o.printfile();
of.close();
return 1;
}
您的p作为指针。谁将分配指针指向的内存?
在C中,呼叫者几乎总是有责任分配通话之前的任何缓冲区。
如果您不想,请改用std :: string。
首先,我建议您阅读有关C 指针和内存处理的一些基本手册,以便您更好地了解问题的来源。
您的代码中有两个主要问题。首先是您正在创建一个未连接到任何分配的内存的指针。简单地说,您要求访问内存地址而不要求系统为您保留它。
此外,在该内存位置中,可以存储任何位配置。变量的初始化是给出大量内存的任务,这些数据具有有意义的解释。我什至不确定在这种特殊情况下,Char*的流入运营商应该做什么。他可能是在最后一个或终点的最后一个之后附加您的角色。
相关文章:
- 错误处理.将系统错误代码映射到泛型
- 通过错误处理,在C++中可靠地获得用户十六进制输入
- posix_spawn():使用posix_scawn()时的错误处理问题
- 在C++中样板"冷/never_inline"错误处理技术的最佳方法是什么?
- 关于 istream 中的错误处理的问题
- 程序使用的 C 库中的错误处理C++
- C++ 错误检查 fstream open() 命令和一般字符串流错误处理
- 使用std::tie进行类似golang的错误处理,同时返回结果,是否有缺点?(C++11)
- Boost进程"系统"功能中的错误处理
- RPN计算器c++错误处理和多个运算符
- 提升精神 x3 错误处理程序与期望
- 构造函数中的错误处理而不会失败
- 当 C++ 中函数参数的输入类型(类)错误时的错误处理
- 关于 ocilib 错误处理的问题,如何使用 ocilib 正确捕获日志错误?
- 我可以使用 std::optional 进行错误处理吗?
- C++ main() 末尾关于错误处理的错误
- 抽象包装带有异常的 C 错误处理的最佳方法
- vwprintf错误处理(ERRNO显示0)
- C++ 使用枚举进行错误处理
- 在 C++ 中创建自己的错误处理机制