1、cin>>
cin使用空白(空格、制表符、回车)来确定字符串的结束位置。
注:cin会将换行符留在输入输出队列中。
测试:
#include<iostream>
using namespace std;
int main()
{
char p[100];
char q[100];
cin>>p;
cout<<p;
cin>>q;
cout<<q;
return 0;
}
实验:上述程序中输入:good [空格或者tab] job [回车],然后似乎还没等输入第二个字符串q的值,就已经输出了good job
原因:cin>>把good作为第一个字符串赋值给p,然后job被留在了输入队列中,当执行到cin>>q的时候,发现队列里已经有job了,就直接将job赋值给q,然后执行cout<< q。
2、面向行的输入cin.get()、cin.getline()
这两个函数都是cin的成员函数,功能都是读取一行,遇到换行符(回车)认为是字符串的结尾,不同的是getline()将换行符从输入队列中丢弃,而get()会将换行符保留到队列中。
(1)cin.get()
原型:
cin.get(

本文介绍了C++中从标准输入读取字符串的两种方法:cin>>和面向行的输入cin.get()、cin.getline()。cin>>在遇到空白字符时停止读取,而cin.get()和getline()能读取整行。cin.getline()会丢弃换行符,而cin.get()会保留。针对cin>>可能导致的问题,可以使用cin.get()清除输入队列中的换行符。
最低0.47元/天 解锁文章
7825

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



