今天分享一下使用C++处理一行输入未知个数的字符的问题。
一,问题描述
在一行输入未知个数字符,以回车结束输入。
二,分析问题
- 第一种方式使用String类型,直接读入一串字符,这种方法简单高效。
- 第二种方式一个一个字符地读入,对读入的字符进行判断,如果输入的字符ASCII值为10(换行)即可中断输入。
三,实现
- 第一种实现:
string str; cin >> str; cout <<str<<endl;
第
-
第二种实现
vector<char> chars; char ch; while (cin >> noskipws >>ch){ if ((int)ch ==10) break; chars.push_back(ch); }
noskipws指示不忽略空白符