C++ 如何读取文件的第一行? ifstream-infle; 字符串读取文件名(“test.txt”); infle.open(读取文件名); 弦线; 而(!infle.eof()) { getline(填充、sLine); cout

C++ 如何读取文件的第一行? ifstream-infle; 字符串读取文件名(“test.txt”); infle.open(读取文件名); 弦线; 而(!infle.eof()) { getline(填充、sLine); cout,c++,C++,您可以尝试以下方法: 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

您可以尝试以下方法:

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();
ifstream-infle;
字符串读取文件名(“test.txt”);
infle.open(读取文件名);
弦线;
而(!infle.eof())
{
填充>>sLine;
cout
当(!infle.eof())
无法按预期工作时,请参阅一个有用的

对您的代码进行较小的修复,应该可以:

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();
ifstream-infle(“test.txt”);
if(infle.good())
{
弦线;
getline(填充、sLine);

不能仅仅摆脱while循环和
while(!infle.eof())
无论如何都是不正确的为什么您希望循环只通过一次(除非条件是这样设置的)?无需调用
close
,因为析构函数将为您执行此操作
  ifstream infile("test.txt");

  if (infile.good())
  {
    string sLine;
    getline(infile, sLine);
    cout << sLine << endl;
  }