C++字符串问题

标签 c++ string

我有一个非常简单的问题。

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/

相关文章:

c++ - 安装 CUDA C++ 库?

c++ - 在 C++ 中使用 const char* 作为映射键的正确方法

c++ - sql连接?

c++ - Linux c++ 控制台获取关键状态

c# - String.Format 的反转?

arrays - 从字符数组转换时的字符串长度

php - 如何从一串串接的数字中格式化 PHP 中的日期?

string - 查找符合特定要求的字符串

C++ 长 switch 语句还是用 map 查找?

c++ - Websocketpp : Address already in use