这是使用 std::cin.get() 的正确方法
Which is the Correct Way to Use std::cin.get()
经过多年的C++编程,我从未深入研究这两种std::cin.get()
用法的差异,也不明白这两者中哪一种是检索char
的正确方法。
char character;
std::cin.get(character);
与
char character;
character = std::cin.get();
char character;
character = std::cin.get();
不理想,因为std::cin.get()
返回int
,这是为了允许您通过测试来检查文件末尾或其他错误ch
int ch = std::cin.get();
if (ch != EOF)
{
...
}
替代方法cin
自身测试文件结尾或错误
char ch;
if (std::cin.get(ch))
{
...
}
据我所知,这两者之间的区别只是风格问题,尽管第二种方法在类型unsigned char
上过载,signed char
对您来说很重要。
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- 通过方法访问结构
- 最小硬币更换问题(自上而下方法)
- C++为构建时间获取QDateTime的可靠方法
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 处理多个异常集合的C++方法
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 有什么方法可以遍历结构吗
- 当类在C++中定义时,有什么方法可以"register"类吗?
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 更好的方法,而不是在C ++中使用cin.ignore
- C++ - 有什么方法可以将输入插入缓冲区/停止 cin.忽略需要输入?
- 将整数输入数组的方法比 scanf() 或 cin 更快?
- 填充字符数组的最佳方法(获取与cin.getline)
- 这是使用 std::cin.get() 的正确方法
- 在C++中,有没有一种简单的方法可以通过iostream::cin获取带有参数的命令调用
- 使用 getchar() 输入字符的最有效方法,就像 cin 中没有换行符和空格字符一样C++
- 有没有一种简单的方法可以检查cin输入是否有空格
- 使用cin.fail()的正确方法
- 使用c++,在制作控制台应用程序时,是否有一种方法可以让cin接受输入的下一个字符并在不按回车键的情况下继续