如何使用含有未知数据量的getline()?

How to use getline() with an unknown amount of data?

本问题已经有最佳答案,请猛点这里访问。

我试图通过标准输入读取一个文本文件,但我不完全确定当数据量未知时从何处开始。我对使用具有给定数据量的文本中的getline有些熟悉。当读取具有已知数据大小的文本文件时,我将使用

1
2
3
char file[250];
while (cin.getline(file,250)){ //etc
}

然而,当我不知道在其中任何一个参数中加入什么时,我都会迷失方向。我该如何处理?我应该使用不同的函数吗?谢谢。


要做到这一点,你需要做的就是:

1
2
3
4
string line;
while(getline(cin, line) {
   //process line
}

这将一直读取,直到您点击EOF或出错为止。