首页 > 解决方案 > cin 如何区分空格和换行符?

问题描述

我有以下代码:

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string input;
    cin >> input;
    int n;
    if(input=="hi"){
        cin >> n;
    }

    cout<< n;

    return 0;
}

在这种情况下,让我们将 input 的值限制为“hi”。如果我输入为

嗨 20

输出为: 20

如果我输入为

你好

20

输出为: 20

cin 如何区分空格和换行符并在这两种情况下正确取 n 的值?

标签: c++

解决方案


它没有。

如果你需要不同的行为,你应该使用std::getline

https://en.cppreference.com/w/cpp/string/basic_string/getline


推荐阅读