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);