在下面的程序中,我试图了解如何读取和写入文件。
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
fstream myfile;
string str1;
myfile.open("H:/input_file.txt");
if(myfile.is_open())
{
myfile<<"test1 writing files"<<" ";
myfile>>str1;
cout<<str1<<endl;
}
return 0;
}
为什么即使将“test1 writing files”写入文件,我也没有在控制台上得到任何输出?
最佳答案
文件将需要以读写方式打开(对不起,忽略它;默认情况下,fstream 以读写方式打开)。写入(并刷新输出)后,您将需要 seekg()
回到文件的开头,否则您将只是尝试读取您最后写入的内容之后的内容,这将当然算不了什么。
myfile<<"test1 writing files"<<" ";
myfile.flush();
myfile.seekg(0, ios_base::beg);
myfile>>str1;
seekg
用于更改您从文件中读取(获取)的位置。 seekp
用于改变你写(放)到文件的位置。
关于c++ - 为什么我不能在我的程序中使用 "file_ptr>>variable"从文件中读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35836214/