cin和get(),getline()
1.面向行输入:getline()
getine()函数读取整行,通过使用回车符来断定输入结尾,但是不保存换行符,而是用空字符来代替换行符。
实际是cin.getline(接收字符串到m,接收个数n,结束字符)。接收一个字符串,可以接收空格等,最后一个字符为‘\0’。结束符可以通过设置第三个参数自己设置,默认是回车。m不能为string类型。
调用:name为数字名称
cin.getling(name,20);
用于string类的。使用需包含头文件#include。getline(cin,string s),接收一个字符串,可以接收空格、回车等
与cin.getline()的区别:1.cin.getline()接收输入字符串的是数组,getline()是string类型。
2.cin.getline()可以接收空格,但不能接收回车;getline()可以接收空格和回车
3.cin.getline()会在数组结尾是'\0',getline()不会
2.面向行输入get()
和getline()类似接受的参数相同,并且都读到行尾,但是get()并不在读取丢弃换行符,而是将其留在输入队伍里。
cin.get(字符变量名),用来接收字符,只获取一个字符,可以接收空格,遇回车结束。
cin.get(数组名,接收字符数目),用来接收字符串,可以接收空格,遇回车结束。
cin.get(),没有参数,主要用于舍弃输入流中不需要的字符,或者舍弃回车,即舍弃输入流中的一个字符。
3.cin
输入38.5 19.2
(1)
char ch;
cin>>ch;
第一个字符被赋值给ch,第一个字符是数字3其二进制被保存到ch。
(2)
int n;
cin n;
在这里cin不断读取,直到遇到非数字字符。也就是说,他将读取3和8,而句点将成为输入队伍中下一个字符。n=38
(3)
double x;
cin>>x
cin不断读取,直到遇到不属于浮点数的字符。也就是说读取38.5而空格成为输入队伍中下一个字符。
(4)
char word[50];
cin>>word;
cin读取知道遇到空白符。也就是说它将读取3,8,“,”,5使空格成为输入队伍中下一个字符。
(5)
char word[50];
cin.getline(word,50);
cin不断读取知道遇到换行符,所以的字符都将被储存到word中,并在末尾加上空字符。