您的位置:首页 > 其它

2. getline()和get()

2016-07-07 22:26 232 查看
1.面向行输入:getline() ---其实还可以接受第三个参数。

getline()函数读取整行,调用该方法

使用cin.getline()。该函数有两个参数,

第一个参数是是用来存储输入行的数组的名称,

第二个参数是要读取的的字符数。若这个参数为20,则函数最多读取19个字符加一个空字符。

getline()函数每次读取一行,通过换行符确定行尾,但不保存换行符。在哪存储字符串时,他用空字符来替换换行符。

cin.getline(array,20); //表示将把一行读入到array数组中,前提是这行字符不超过19个,


1. get()函数(有三种用法)

该函数有几种变体,其中一种变体的工作方式与getline()类似,接收参数和解释参数发方式也相同,并且都读到行尾。

get()不会丢弃换行符。而是将其留在输入队列中。

若连续两次调用get(),由于第一次调用后,换行符将留在输入队列中。因此第二代次调用时看到的第一个字符便是换行符,因此get()认为已到达行尾,而没有发现任何可取的内容。

cin.get(array1, Size);
cin.get(array2, Size);


使用不带任何参数的cin.get(),可读取下一个字符(包括阔换行符),用它处理换行符,为读取下一行输入做好准备,可以解决上面的问题。

cin.get(array1, Size);
cin.get();
cin.get(array2, Size);


将两个类成员函数合并

cin.get(array, Size),get();  //cin.get()返回一个cin对象,该对象被用来调用get()函数


将输入中连续的两行分别读入到数组name1和name2中,效果和两次调用cin.getline()相同。

cin.getline(name1, Size).getline(name2, Size);


  

 

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: