c++ - 为什么 cin >> ws 使程序在末尾有空格时不终止?
问题描述
我制作了这个程序来看看“ws”是如何工作的
char character;
while (true){
character = cin.get();
cout << character;
if (cin.peek() == '\n') break;
cin >> ws;
}
cout << endl;
该程序使用输入(我使用“_”表示空格),例如:A_________B__________C
结果:ABC
但是,如果我在末尾放置一个空格(例如:A_____________B__________C_),程序将永远不会结束,并且在调试时我发现 (cin >> ws) 行永远不会结束。我的问题是为什么会这样。
解决方案
推荐阅读
- ruby-on-rails - 我可以关闭从 http 到 https 的重定向,但仍然使用 forse_ssl(config.forse_ssl = true) 生成带有 https 协议的 URL/资产?
- excel - 如何在数据输入后锁定行的一部分
- java - 创建没有自动装配的通用函数
- swift - 我无法在我的 ios 应用程序中将用户添加到 Cloud Firestore
- batch-file - 从批处理文件发送密码?
- vaadin - 如何在 Vaadin 13 中制作侧边菜单?
- java - 尝试使用无头 chromedriver 选项时,Selenium 找不到 WebElements
- ios - 在通过 UIBezierPath 绘制的父视图上添加子视图
- javascript - DataTables:日期范围过滤器触发错误(服务器端处理)
- vba - 我可以通过 VBA 在 Outlook 中创建签名并将其保存为默认签名吗?