C++输入
2016-03-30 18:51
253 查看
1、cin结束符
程序的输入都建有一个缓冲区,即输入缓冲区。当一次键盘输入结束时会将输入的数据存入输入缓冲区,然后再通过cin函数直接从输入缓冲区中取数据。
cin遇到Space、Tab、Enter都会结束一次数据获取。
eg:当输入为124 ew 34sf时,调用一次cin只会取出124,就遇到空格返回了。
当遇到Tab和Enter处理相同。
2、一些常见的输入情况
1)单行输入:但是不知道输入的长度,且中间有空格等分隔符
测试结果为
2)当输入的是一个一个的数字时
示例如下:
3)单行输入,遇到特定字符时退出
4)多行输入,每一行的输入为固定数目的数字,如每行3个数字,最后一行为0 0 0
程序的输入都建有一个缓冲区,即输入缓冲区。当一次键盘输入结束时会将输入的数据存入输入缓冲区,然后再通过cin函数直接从输入缓冲区中取数据。
cin遇到Space、Tab、Enter都会结束一次数据获取。
eg:当输入为124 ew 34sf时,调用一次cin只会取出124,就遇到空格返回了。
当遇到Tab和Enter处理相同。
2、一些常见的输入情况
1)单行输入:但是不知道输入的长度,且中间有空格等分隔符
string str; getline(cin,str); cout<<str<<endl;
测试结果为
2)当输入的是一个一个的数字时
vector<int> nums; int num; char ch; while(1){ cin>>num; //依次将数据提取出来 nums.push_back(num); ch=getchar(); if(ch=='\n'||ch==EOF) //输入结束时,退出循环 break; }
示例如下:
3)单行输入,遇到特定字符时退出
vector<int> nums; str num; char ch; while(1){ cin>>num; //依次将数据提取出来 ch=getchar(); if(num==target||ch==EOF) //输入结束时,退出循环 break; nums.push_back(num); }
4)多行输入,每一行的输入为固定数目的数字,如每行3个数字,最后一行为0 0 0
int num1=0,num2=0,num3=0; char ch; while(1){ cin>>num1>>num2>>num3; ch=getchar(); if(num1==0&&num2==0&&num3==0||ch==EOF) //全0时退出循环 break; proc_nums(); }
相关文章推荐