Linux下read和fgets的一些比较
2017-10-24 21:01
218 查看
read()函数定义如下
ssize_t read(int fd,void *buf,size_t nbyte)
read函数是负责从fd中读取**最多**nbytes个字节到buf,在读取数据时会将最后的回车(\n)同时读入到buf中,但是 不会在后面加上字符串结束符(\0)。成功时,read返回实际所读的字节数,如果返回的值是0,表示已经读到文件的结束了.若返回负值(通常为-1)表示发生了错误。;
#include <stdio.h> #include <unistd.h> int main() { char a[100]; int n = 0; while((n = read(fileno(stdin),a,sizeof(a))) > 0) { printf("%s\r\n",a); } return 0; }
输入 123时,结果如下
a={1,2,3,\n,...}
fgets()函数定义如下
char * fgets ( char * str, int num, FILE * stream )
fgets负责从stream(通常是文件或者标准输入stdin)中读取num个字符到str中,在读取数据时会将最后的回车(\n)同时读入到buf中,并且会在后面加上字符串结束符(\0)。成功返回非空指针,失败返回空指针
#include <stdio.h> #include <unistd.h> int main() { char a[100]; int n = 0; while((fgets (a,sizeof(a))) > 0) { printf("%s\r\n",a); } return 0; }
输入 123时,结果如下
a={1,2,3, \n,\0 ,...}
相关文章推荐
- Linux下Socket编程之read、write、send、recv函数的比较
- linux 一些比较有用的命令
- 比较常用到的一些linux命令行
- 【LINUX】linux一些比较实用的命令整理
- 关于linux的一些比较不错的链接
- Linux下读写速度测试(read, fread,fgets)
- linux中shell变量,Bash shell中一些比较特殊的符号
- 关于一些Linux系统的比较(包含与被包含)
- linux一些比较常用的命令
- Linux下squid代理服务全攻略-网络上比较全的两篇+樊强那里的一些文章
- 关于linux下标准读入read和fgets和scanf的区别
- Linux下异步I/0:O_ASYNC标志,aio_read
- 关于linux的一些基础知识
- 一些linux常用命令和功能
- linux下的一些elf工具
- Linux 一些基础的命令
- linux一些内核参数
- 【Linux关机】常用关机命令及其比较
- Linux Top 命令解析 比较详细
- Linux比较重要的目录