我有一个非常简单的问题。
string str;
cin >> str;
cout << str;
如果我输入“Hello World”,我得到的输出只是“Hello”。我知道这可能与空格有关。所以我的问题是,如果我也想要空格,我应该怎么写?
我也尝试过使用 getline(cin, str); 但它只会第一次读取输入并跳过其余部分
最佳答案
getline(cin, str)
应该可以工作,但如果您遇到“字符跳过”,您可能必须在调用它之前清除输入缓冲区:
std::cin.ignore( std::numeric_limits<std::streamsize>::max(), '\n' );
std::string str;
std::getline(std::cin, str);
关于C++字符串问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1734480/