在以下程序中,我试图了解如何读取和写入文件。
#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;
}
为什么我不能在控制台上获得任何输出,即使&#34; test1正在编写文件&#34;被写入文件?
答案 0 :(得分:1)
需要为读取和写入打开文件(对不起,请忽略它;默认情况下,fstream会为read&amp; write打开)。在写完(并刷新输出)之后,你需要seekg()
回到文件的开头,或者你只是想读一下你写的最后一件事之后会发生什么,这当然不算什么。
myfile<<"test1 writing files"<<" ";
myfile.flush();
myfile.seekg(0, ios_base::beg);
myfile>>str1;
seekg
用于更改您从文件中读取(获取)的位置。 seekp
用于将您编写(放置)的位置更改为文件。