Chinaunix首页 | 论坛 | 博客
  • 博客访问: 473126
  • 博文数量: 120
  • 博客积分: 1853
  • 博客等级: 上尉
  • 技术积分: 1177
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-22 22:40
文章分类

全部博文(120)

文章存档

2013年(16)

2012年(104)

分类: C/C++

2012-04-20 20:15:42

read  write 是非缓冲机制,如果从标准io读取,则不是以空格进行分割。fgets是以行为单位,也不以空格进行分割。

点击(此处)折叠或打开

  1. nread = read(0, buf, 2048);
  2. write(1, buf, nread);
0为标准输入,1为标准输出。


点击(此处)折叠或打开

  1. printf("%s",fgets(buf, 2048, stdin));
当输入时,最后按的回车(换行符)也进入了buf中,所以不用再在%s后面加\n了。

而平时的scanf中不会包含换行符号。但是无论是那个都会自动在输入完字符后在最后一个字符后面有个\0(不缺定是初始化的时候所有的都有\0或者是在输入完成后scanf和fgets自己加的)
阅读(1060) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~