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的下一次调用会继续读该行。

用法举例:
读取一个文件并打印之

  1. FILE * fp = fopen(argv[1],"r");
  2. char buf[200];
  3. while (fgets(buf,200,fp) != NULL) {    /* 每行的字符不能超过199才能正常工作 */
  4. printf("%s",buf);
  5. }

注意打印不用使用   printf("%s/n",buf),因为它会把换行符也读进去

fget函数读取一行数据,非二进制文件 -- linux相关推荐

  1. readline函数 读取一行数据

    readline方法: 表示读取一行数据,默认从第一行开始读取 利用readline读取txt中一行数据. # 读取一行数据 file = open('3.txt', 'r', encoding=&q ...

  2. pandas使用read_csv函数读取csv数据、sort_index函数基于多层行索引对数据排序(设置ascending参数列表指定不同层行索引的排序方向)

    pandas使用read_csv函数读取csv数据.index_col参数指定作为行索引的数据列索引列表形成复合(多层)行索引.sort_index函数基于多层行索引对数据排序(设置ascending ...

  3. java编程,字符流BufferedReader,读取一行数据。finally,readLine

    package onelo;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamR ...

  4. linux读取一行数据命令,常用的linux命令和逐行数据处理的例子

    原标题:常用的linux命令和逐行数据处理的例子 Linux具有开源,处理性强等优点. 并且由于生物数据量较大,对数据处理性能要求更高, 所以生物信息分析软件大多都是针对linux系统进行开发的. 在 ...

  5. linux读取一行数据命令,Shell脚本一次读取文件中一行的2种写法

    写法一: #!/bin/bash while read line do echo $line     #这里可根据实际用途变化 done < urfile 写法二: #!/bin/bash ca ...

  6. linux中read函数读取文件夹内文件,linux下read函数

    read函数是Linux下不带缓存的文件I/O操作函数之一,所谓的不带缓存是指一个函数只调用系统中的一个函数.另外还有open.write.lseek.close,它们虽然不是ANSI C的组成部分, ...

  7. C语言如何读取一行数据,直到按空格结束

    1, while (scanf("%c", &c) != EOF) 这样的坏处是,会把空格也当成输入写入 2,while循环内加一个if判断 当输入了回车后就会结束scan ...

  8. matlab使用load函数读取txt数据时,出现锘? xxxxx 。的解决办法

    解决办法: 使用notepad++或者其他的文本编辑器,修改文件的编码为UTF-8. 例如:打开notepad++,点击编码,在下拉菜单中选择使用UTF-8编码,保存. 解决...

  9. 【C 语言】文件操作 ( 配置文件读写 | 读取配置文件 | 函数接口形参 | 读取配置文件的逐行遍历操作 | 读取一行文本 | 查找字符 | 删除字符串前后空格 )

    文章目录 一.函数接口形参 二.读取配置文件的逐行遍历操作 1.读取配置文件的逐行遍历操作 2.读取一行数据 3.查找字符 4.删除字符串前后的空格 5.完整代码示例 一.函数接口形参 函数作用 : ...

最新文章

  1. Java各种数据类型详细介绍及其区别
  2. eclipse lombok插件安装_如果你是Java架构师或项目经理,项目技术会允许使用Lombok吗?
  3. 文献学习(part8)--A community detection algorithm based on graph compression...
  4. 轻雨物联网解决方案:农业物联网的市场前景分析
  5. Unity3D-GUI初试
  6. Callback Functions Tutorial
  7. 100 个网络基础知识 看完成半个网络高手
  8. 在mac homebrew_您可以通过Homebrew在Mac上获得的最佳命令行工具
  9. 个推《大数据降本提效实战手册》,分享独家数据智能技术实践
  10. Deecamp2019年试题A卷详解和感受
  11. 【蓝队攻防演练思路】From 滴滴蓝军
  12. EnvironmentNotWritableError:The current user does not have write permissions to the target...
  13. Coder之路,平凡才是唯一的答案
  14. UG NX 12 同步建模技术
  15. GPS卫星的信号结构
  16. IT服务管理之能力管理
  17. 驱动蓝屏代码及原因,解决方案
  18. JDRead电子书使用心得
  19. 龙芯智龙开发板:驱动步进电机实战入门
  20. WebIM 即时通信

热门文章

  1. 华为手机鸿蒙系统手机_华为鸿蒙系统不会用于手机?快来看看
  2. 原来电商企业也能运用模型规划设计营销活动
  3. 设计模式(23):创建型-原型模式(Prototype)
  4. java循环导出word文档_Java使用freemarker导出word文档
  5. 斗鱼坎坷上市路,未来的对手不仅仅只有虎牙
  6. Python 进度条
  7. “中盛粮油案”主角王伟曾向员工非法集资
  8. java面向对象知识点02
  9. 剧本角色情感分析赛后总结
  10. 1634: Happy Thanksgiving Day - A + B Problem