【发布时间】:2016-11-09 20:08:15
【问题描述】:
我想写入文件,然后从中读取并打印结果
这是我的代码
#include<iostream>
#include<fstream>
using namespace std;
int main(int argc,char* argv[]){
int x,y;
ofstream fd1(argv[1]);
ifstream fd2(argv[1]);
cin>>x;
fd1<<x;
fd2>>y;
cout<<"just read "<<y<<endl;
fd1.close();
fd2.close();
return 0;
}
它有什么问题?我输入 123 它输出“just read -1078463800”
【问题讨论】:
-
您应该检查您的文件操作是否成功完成(流的创建和读/写)。我的猜测是 ifstream 失败是因为 ofstream 保存了文件资源
-
听起来像是 XY 问题。你到底想解决什么问题?
-
@Borgleader 我也这么认为,而且 Remy 坚持相反,我发现我对此非常错误(但不是关于缓冲,幸运的是!)。即使在 Windows 上,也可以这样做(它不像 python 或 C)。所以我今天学到了一些东西。
标签: c++ fstream ifstream ofstream