c++ - 有没有一种简单的方法来检查 cin 输入是否有空格?

标签 c++

假设我有这样的东西 int scin >> 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/

相关文章:

c++ - 性能报告中的 std::__detail::_Map_base 是什么?

c++ - 打印出两个整数之间的偶数

c++ - 如何通过cmake使用-fPIC编译jsoncpp

c++ - 对于从 C++ 编写敏感日志文件,文件描述符上的 write() 或文件上的 fprintf() 哪个更好?

c++ - 在 C++ 中将 Double 转换为 String 时精度丢失

c++ - 资源有限的 HTML 渲染器(良好的内存管理)

c++ - 将 4 个整数的组合映射到单个值

c++ - 递归函数中的cin

c++ - 是否有任何编译器忽略有关默认内联函数的 C++ 标准?

c++ - 需要帮助优化绘图代码...