get()和getline()同为istream类的成员函数
1:getline()
(1)getline(char *, int)有两个参数,第一个参数是用来存储输入行的数组名称,第二个参数是要读取的字符数;
例如:使用getline()将姓名输入到一个包含20个元素的name数组中;
函数调用为:cin.getline(name, 20);
getline()每次读取一行,它通过换行符来确定行尾,但是不保存换行符;相反,在存储字符串时,它用空字符来替换换行符。
(2)getline(char*, int, char)第一个参数用来存放舒服字符串的数组名称(即输入字符串的内存单元地址);第二个参数是要读取字符数,但要比读取的最大字符数大1(额外的一个字符用于存储结尾的空字符,以便将其存储为一个字符串);第三个参数指定为分界符的字符;
2:get()
(1)get(char* , int)类似于getline(char *, int),但是get()不读取换行符;
(2)get(char*, int, char)类似于getline(char *, int, char)同时不读取换行符;
二者的主要区别:get()将换行符留在输入流中,这样接下来的输入操作看到的首先是换行符,但是getline()抽取并丢弃输出流中的换行符。
阅读(2190) | 评论(0) | 转发(0) |