关于C语言fgets函数要注意的地方

本文详细解析C语言中fgets函数的使用方法,包括如何通过循环读取整个文本文件,函数的参数含义,以及读取过程中的注意事项,如自动添加的终止符,和读取字符数量的限制。

关于C语言fgets函数要注意的地方

  1. fgets函数一般用来读入文件内容,每次读一行,然后存入缓存区
  2. 有人问那怎么读下一行,直至读完整个文本文件的内容,其实很简单,只要循环用fgets就行,如果你这次把第一行读完了,那么下一次文件指针就会从第二行的开头开始,下次用fgets就会从第二行开始读啦!
    在这里插入图片描述
  3. 值得一提的是,当fgets函数读完一行,会自动添加一个反斜杠0,即 ‘\0’
  4. fgets函数的第一个参数表示文件读入之后存储的地方也就是缓存区,一般是一个数组,中间的参数表示你要一次读入多大的内容,第三个参数表示文件fp,在这之前要先打开文件,就是fp=fopen()之类的格式
  5. fgets函数停止的条件可能有两个,第一个是遇到了反斜杠n,表示这一行结束了,第二个就是读入的字符数量已经到达了(中间参数-1),为什么减一是因为最后要留一个位置给 \0(第3点已经说明)
  6. 当fgets执行一次但一行的字符还没有读完时,下一次会接着读那一行,直到遇到第5点说的两种结束条件
  7. 如果是把文件内容读入数组缓存区,第二次会覆盖第一次相对应位置的内容,因为每次都是从数组的开始地址存储文件内容,所以如果是用指针控制数组内容的提取(把内容写到另一个文件之类的),每次fgets之后数组指针都要置零,否则就会出现下一行前面的一些字符读不进来或者所有字符都没读到直接读到了反斜杠0(具体读到了什么可以debug追踪一下相应的变量)
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值