初学c++,之前一直不知道cin的工作流程是什么,今天研究了一下,有一点小小的收获,特此分享
以这段代码为例
#include <iostream>
#include <vector>
#include <string>
using namespace std;
/*题目:
翻转句子中单词的顺序。
输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。
例如:
句子中单词以空格符隔开。标点符号视为一个字符。
输入“I am a student.”,则输出“student. a am I”。*/
int main()
{
vector<string> v;
string str;
//读入文本到vector对象
cout << "Enter sentence(Ctrl + Z to end):" << endl;
while(cin >> str)
{
v.push_back(str);
}
//如果没输入东西,汇报异常后退出
if(v.size() == 0)
{
cout << "No element!" << endl;
return -1;
}
//循环倒序输出单词
for(vector<string>::size_type ix = v.size() - 1; ix >= 0; --ix)
{
cout << v[ix] <<

本文探讨了C++中cin的工作流程,重点是cin如何处理输入,包括空格、tab、Enter作为分隔符的角色,以及如何通过Enter刷新缓冲区。此外,还提到了Ctrl + Z在结束输入循环中的作用和条件。
最低0.47元/天 解锁文章
6019

被折叠的 条评论
为什么被折叠?



