我正在使用以下代码:

#include <iostream>
using namespace std;

int main(int argc, char **argv) {
    string lineInput = " ";
    while(lineInput.length()>0) {
        cin >> lineInput;
        cout << lineInput;
    }
    return 0;
}

使用以下命令:echo "Hello" | test.exe
结果是无限循环打印“Hello”。如何使其读取并打印单个“Hello”?

最佳答案

string lineInput;
while (cin >> lineInput) {
  cout << lineInput;
}

如果您确实想要完整行,请使用:
string lineInput;
while (getline(cin,lineInput)) {
  cout << lineInput;
}

09-07 09:58