【发布时间】:2013-05-23 11:06:59
【问题描述】:
我设法写入文本文件,但我的读取文件出了点问题。这是我的代码:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string line, s;
ofstream out_file;
out_file.open("hello.txt");
for(int count = 0; count< 5; count++)
{
out_file << "Hello, World" << endl;
}
out_file.close();
ifstream in_file;
in_file.open("hello.txt");
if (in_file.fail())
{
cout << "File opening error. " << endl;
}
else
{
while(getline(in_file,line))
{
in_file >> s;
cout << s << endl;
}
}
in_file.close();
system("Pause");
return 0;
}
我设法将 5 次“Hello, World”写入文本文件。但是,当程序运行时,它只打印了 4 次“Hello”,第 5 行打印了“World”。从我的代码中,它不应该打印 5 次“Hello, World”吗?谁能指出错误在哪里?
【问题讨论】:
-
in_file >> s;停在空格处。 -
那我该如何解决呢?如果我把 getline(in_file,s) 放在那里会出错
-
in_file >> s;应该是line >> s;虽然那样会给你一个不同的错误。
标签: c++ string file-io while-loop