Chinaunix首页 | 论坛 | 博客
  • 博客访问: 287000
  • 博文数量: 70
  • 博客积分: 485
  • 博客等级: 下士
  • 技术积分: 632
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-25 08:55
文章分类

全部博文(70)

文章存档

2014年(47)

2013年(1)

2012年(22)

我的朋友

分类: C/C++

2014-01-15 19:45:46

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()抽取并丢弃输出流中的换行符。
阅读(2152) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~