确定用户字符输入 C++ 的结束
determining the end of user char input c++
我想处理用户输入,这是一行字符串。 使用字符串库,就像cin >> mystring;
一样简单,但出于性能原因,我想一次处理一个字符,而无需保存以前的字符或使用任何类型的数组。 所以我写了这段代码:
char myc;
while(cin >> myc){
dosomething(myc);
}
但是在编写一行字符串作为输入并按 Enter 后,它会处理输入字符,并且仍然等待更多输入字符的到来。 我也用过cin.eof()
和while(myc)
,但没有一个有效。
您必须检查换行符,但不能使用std::istream::operator>>
执行此操作,因为它是格式化的读取并跳过换行符。用
char myc;
while ((myc = cin.get()) != 'n')
dosomething(myc);
}
要按字符读取流,请使用std::basic_istream<CharT,Traits>::get
函数:
for(char c; std::cin.get(c);) {
std::cout << c;
}
相关文章:
- 为什么在这个代码结束循环中没有得到结束
- 试图对缓存进行跨步测试,但程序并没有结束
- 当调用switch语句中的函数时(即使函数不包含循环),似乎是永不结束的循环的问题
- 为什么擦除方法会影响结束方法
- 根据用户输入用字母填充矢量,并将"开始"和"结束"放在四肢
- 删除映射和分割错误中的一个过去结束元素
- 如何使用 SFML 在贪吃蛇游戏中定义游戏结束?
- 为什么我的两个 cin 语句没有在程序结束时运行?
- 在函数结束后使用指向变量的指针是否安全?
- C ++尝试并捕获未结束的程序
- 为什么我的程序在输入某个形状的面积的测量值后没有结束?
- 取消引用结束指针到数组类型的一个
- 如何在 c++ 中确定一条指令(以字节为单位)在哪里结束,另一条指令从哪里开始?
- 结束另一个线程中使用的对象的生存期
- 全局向量导致 C++ 程序结束时出现段错误
- 程序显示以退出代码 0; 结束
- 如何显示函数开始、结束行和函数体?
- C++ 从具有开始位置和结束位置的列表中删除
- 使用 shared_ptr 在中断时结束多线程循环
- 文件追加的方式是,它在每次保存C++后结束行