如何在C++中读取一个空字符串?

how to read an empty string in c++?

在 C++ 中考虑这个代码片段 -

string str;
cin>>str;

如果我在这个阶段简单地按下回车键,指针会移动到下一行,但即使我有意输入一个空字符串,也会继续等待输入。

我的objective是看一个字。如果我按回车,它应该被视为一个空字符串。

使用std::getline:

std::string str;
std::getline(std::cin, str);

有两种方法:

使用std::getline()

std::string str;
getline(cin, str);

或使用 std::noskipws

std::string str;
cin >> noskipws >> str;

不要忘记使用 cin.ignore()