c++ - 为什么我们需要在 getline(cin, string) 之前使用 cin.ignore()?

标签 c++

<分区>

为什么我们需要在输入字符串之前使用 cin.ignore()

什么是反手流程?如果我们不使用 cin.ignore(),为什么它会跳过字符串中的输入(如果我们为更多变量调用 getline 函数)?

最佳答案

您只需要在有一些您未阅读的先前输入时使用cin.ignore()。如果没有,那么你就不需要,它会让你忽略你想要的东西。最常见的情况是忽略前一行结束的换行符。

如果有人输入“foobar”,而你想读“foo”然后是“bar”,你需要忽略它们之间的(或使用自动执行此操作的函数)。

关于c++ - 为什么我们需要在 getline(cin, string) 之前使用 cin.ignore()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21686762/

相关文章:

c++ - 是否有一种编码风格在调用中明确提及参数名称?

c++ - 如何使用 Cuda 避免段错误时的内存泄漏

c++ - 使用 STL 容器时应该使用 int 还是 unsigned int?

c++ - 寻找一种可以快速初始化和快速查找的数据结构 (O(1))

c++ - MyType 允许 std::atomic<MyType> 的确切要求是什么?

c++ - 令人困惑的继承和模板

c++ - 简单的 C++ getter/setter

c++ - 为什么静态 ofstream 不起作用

c++ - C++ 中非常快速的近似对数(自然对数)函数?

c++ - 在 C++ 中将位序列转换为 uint32_t