read write 是非缓冲机制,如果从标准io读取,则不是以空格进行分割。fgets是以行为单位,也不以空格进行分割。
- nread = read(0, buf, 2048);
- write(1, buf, nread);
0为标准输入,1为标准输出。
- printf("%s",fgets(buf, 2048, stdin));
当输入时,最后按的回车(换行符)也进入了buf中,所以不用再在%s后面加\n了。
而平时的scanf中不会包含换行符号。但是无论是那个都会自动在输入完字符后在最后一个字符后面有个\0(不缺定是初始化的时候所有的都有\0或者是在输入完成后scanf和fgets自己加的)
阅读(1088) | 评论(0) | 转发(0) |