如何将一些文本保存到包含空格的字符串中?

Hal*_*_07 0 c++ string

我在使用 C++ 时遇到问题,如下面的简单程序所示:

int main()
{
    string n;
    cin>>n;
    cout<<n;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我尝试将一些文本保存到字符串中,但是当我写多个单词时,它只保存到第一个空格符号。

输入:

abba abc abd
Run Code Online (Sandbox Code Playgroud)

输出:

abba
Run Code Online (Sandbox Code Playgroud)

预期输出:

abba abc abd
Run Code Online (Sandbox Code Playgroud)

可以用 解决cin吗?

Arm*_*gny 5

提取运算符>>将在空白处停止其输入转换。

您需要使用函数std::getline, 阅读完整的一行:

std::getline(std::cin, n)
Run Code Online (Sandbox Code Playgroud)

会如你所愿——