c++ - 我可以循环直到 `std::cin` 看到输入缓冲区中的 `\n` 字符吗?
问题描述
像这样的东西。。
do{
int x{};
std::cin >> x;
}while(/*i want the condition mentioned here*/);
我的意思是,如果用户输入x
并按Enter,我希望循环结束。我可以这样做吗?
解决方案
最常见的方法是读取整行,然后从该行中提取数据。
也就是从“读东西直到遇到换行符”转变为稍微高级一点的“读行中的所有东西”。
std::string line;
if (std::getline(std::cin, line))
{
std::stringstream ls(line);
int x = 0;
while (ls >> x)
{
// Process x
}
}
推荐阅读
- alfresco - 如何使用 Java 从 ServiceTask 在 Alfresco 中创建新内容?
- java - 如何使用 DBUtil. 查找 SQL fetchlist 中的错误?
- java - 无法使用 @Autowired / WebApplicationContext.getBean() 获取 Bean
- python - 错误:Spider 必须返回 Request、BaseItem、dict 或 None,在 GET 中“设置”
- python - Model() 为参数“nr_class”获取了多个值 - SpaCy 多分类模型(BERT 集成)
- html - 我无法使用预览浏览器(VS 代码扩展)
- php - 如何从 PHP exec 运行 Plesk CLI 命令
- websocket - 使用自签名证书时无法从 Electron 连接到 Web 套接字
- edit - Pmwiki 无法获取锁定文件
- java - 如何计算两个日期之间的天数