C++ Getline在多次调用时仅打印最后一行

C++ Getline在多次调用时仅打印最后一行,c++,file-io,getfiles,C++,File Io,Getfiles,这是一个相当简单的程序示例,我试图输出输入文本文件的前两行。ifstream应该是一个全局变量,并且testGetFile()函数是必需的(我还没有完成这段代码中所需的实际文本处理。)我正在试图弄清楚为什么这只包含输入文件的第二行。任何帮助都将不胜感激 提前谢谢 #include <iostream> #include <fstream> #include <sstream> #include <string> using namespace s


这是一个相当简单的程序示例,我试图输出输入文本文件的前两行。ifstream应该是一个全局变量,并且testGetFile()函数是必需的(我还没有完成这段代码中所需的实际文本处理。)我正在试图弄清楚为什么这只包含输入文件的第二行。任何帮助都将不胜感激

提前谢谢

#include <iostream>
#include <fstream>
#include <sstream>
#include <string>

using namespace std;
ifstream input;

string testGetFile(){
    string result;
    getline(input,result);
    return result;
}

int main(){
    input.open("testInput.txt");
    cout<< testGetFile();
    cout<< testGetFile();
    return 0;
}
#包括
#包括
#包括
#包括
使用名称空间std;
ifstream输入;
字符串testGetFile(){
字符串结果;
getline(输入、结果);
返回结果;
}
int main(){
open(“testInput.txt”);

coutWorks对我来说很好,试着添加一个
endl
。嗯,它现在开始工作了。你知道它为什么用endl做这个吗?非常感谢!它做同样的事情,只是没有它,打印时看起来像一行。有趣的是…我的显示器可能有点奇怪。它只为我显示最后一行没有endl。谢谢又是!它似乎在一行中打印了两行,而您没有注意到第一行与第二行打印在同一行上。您只看到第二行正在打印,因为您的眼睛从右向左处理程序的输出;)