假设我有这样的东西 int s
和 cin >> s
。有没有一种简单的方法可以测试“s”的用户输入是否是空格而不求助于 isspace
这将导致首先将该 int 转换为字符串,然后在我的测试后再次返回到 int .
最佳答案
使用std::getline
函数获取整行输入作为std::string
,然后解析该行,就像使用 std::stoi
一样简单在 C++11 中:
std::string input;
std::getline(input, input, std::cin);
int const s = std::stoi(input);
它将检查输入的有效性,如果无法执行转换则抛出异常。此外,将输入作为 std::string
提供,您可以执行任何您喜欢的检查,而且检查字符串中是否存在特定字符也很简单。
关于c++ - 有没有一种简单的方法来检查 cin 输入是否有空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26697886/