计算' cin.getline() '是否成功
Figuring out whether `cin.getline()` succeeds
基本代码片段:
while (true)
{
cin.getline(str, STRSIZE);
if (str[0] == 'n') { break; }
}
本质上,当用户只输入一个返回键时,循环假定结束。当然,这段代码不起作用,因为n
被刷新了,并且永远不会在str
中结束,以验证是否输入了单独的n
。我并不好奇为什么这不起作用;我知道为什么。
如何验证进入了一个单独的
n
,从而退出了while-loop
?
我知道可以这样做:
while (cin >> str);
然而:-
>>
一次只取一个字 - 在我的实际代码中,使用
for-loop
,而不是while-loop
。
如果cin.getline()
读取一行失败,则cin
将处于错误状态。
你可以使用:
while (cin.getline(str, STRSIZE))
{
if ( str[0] == ' ' ) { break; }
// Use str
}
相关文章:
- 有没有办法知道Tracer是否成功地完全连接到了jaegerclientcpp中的jaeger后端服务器
- 如何检查cURL是否成功登录?c ++
- 如何检查文件复制和写入是否成功
- 设计自己的结果/两者之一:是否应该始终指定成功类型和错误类型
- 如何检查文件是否复制成功?(便携式解决方案)C++
- 如何检查C++智能指针内存分配是否成功?
- 如何使用C++检查 mysql 查询是否成功
- 要检查 SetFilePointerEx、ReadFile 或 WriteFile 是否成功,我是否需要检查 lpNew
- 检查 void* 是否成功使用 static_cast 反对
- 检查是否已成功创建新阵列
- 有没有办法在编译时检测是否可以使用一组给定的参数类型成功调用通用 lambda?
- "template"关键字限定符是否会导致代码成功编译,但不同?
- 如何检查使用 Aws::Transfer::Transfermanager 下载是否成功
- 检查发布方法是否成功使用了蚊子
- C++ODBC检查连接是否成功
- C++ sqlite3 如何知道 SQL 语句是否成功执行
- 如何在 c++11 std::regex_replace 中检查是否成功
- 是否可以在没有完全定义着色器的情况下测试缓冲区数据是否成功加载到GPU上?(C++、OpenGL 4.4、GLFW)
- 检查显式强制转换是否成功
- 计算' cin.getline() '是否成功