fget函数读取一行数据,非二进制文件 -- linux
来源:互联网 发布:淘宝最火的女装店 编辑:程序博客网 时间:2024/05/16 01:11
fget函数的原型如下:char *fgets(char *buf, int n, FILE *fp)
功能:从文件流读取一行,送到缓冲区,使用时注意以下几点:
1.当遇到换行符或者缓冲区已满,fgets就会停止,返回读到的数据,值得注意的是不能用fgets读二进制文件,因为fgets会把二进制文件当成文本文件来处理,这势必会产生乱码。
2.每次调用,fgets都会把缓冲区的最后一个字符设为null,这意味着最后一个字符不能用来存放需要的数据,所以如果有一行,含有LINE_SIZE个字符(包括换行符),要想把这行读入缓冲区,请把参数n设为LINE_SIZE+1
3. 由结论1可推出:给定参数n,fgets只能读取n-1个字符(包括换行符),如果有一行超过n-1个字符,那么fgets返回一个不完整的行,也就是说,只读取该行的前n-1个字符,但是,缓冲区总是以null字符结尾,对fgets的下一次调用会继续读该行。
用法举例:
读取一个文件并打印之
- FILE * fp = fopen(argv[1],"r");
- char buf[200];
- while (fgets(buf,200,fp) != NULL) { /* 每行的字符不能超过199才能正常工作 */
- printf("%s",buf);
- }
注意打印不用使用 printf("%s/n",buf),因为它会把换行符也读进去
0 0
- fget函数读取一行数据,非二进制文件 -- linux
- fget()
- fget()
- fgets读取一行数据
- fgets()读取一行数据
- fgets()读取一行数据
- php读取文件一行数据的函数fgets和fgetss
- Linux shell 读取一行
- 读取文件最后一行数据
- TensorFlow读取二进制文件数据到队列
- .bin 二进制文件的读取 linux C语言
- linux上使用open读取一个二进制文件
- linux C 读二进制文件和文件读取
- 读取二进制文件
- 读取二进制文件
- 读取二进制文件
- 二进制文件读取
- 将double类型的数据写入二进制文件,从二进制文件中读取double类型数据
- cookie与session
- spfa 最短路径
- 图像处理------特殊灰度算法技巧
- iOS 与 Android 生命周期对比
- Android -- EventBus
- fget函数读取一行数据,非二进制文件 -- linux
- CTP多点触摸协议
- java并发编程实战 第五章(2)合并任务的结果
- 运行 GPMC 时的"在与 Active Directory 中不一致的 SYSVOL 文件夹被此 GPO 的权限"消息
- #1070 : RMQ问题再临
- C++ 迭代与递归 浅析
- 在Tomcat 6.0.X下安装Tomcat Administration Web Application
- 图像处理------边缘褪化效果
- python的SimpleHTTPServer