ifstream infile;
string read_file_name("test.txt");
infile.open(read_file_name);
string sLine;
while (!infile.eof())
{
getline(infile, sLine);
cout << sLine.data() << endl;
}
infile.close();
此程序打印文件中的所有行,但我只想打印第一行。
答案 0 :(得分:13)
while (!infile.eof())
无法按预期运作,eof查看一个有用的link
对您的代码进行小修复,应该有效:
ifstream infile("test.txt");
if (infile.good())
{
string sLine;
getline(infile, sLine);
cout << sLine << endl;
}
infile.close();
答案 1 :(得分:0)
你可以试试这个:
ifstream infile;
string read_file_name("test.txt");
infile.open(read_file_name);
string sLine;
while (!infile.eof())
{
infile >> sLine;
cout << sLine.data() << endl;
}
infile.close();
这应该逐行打印文件中的所有行。