1、fgets函数的特点:

读取n-1(n为数组个数,第n个位置会自动添加‘\0’)个字符,以'\n'为结束标记,并在读取到‘\n’之后,在末尾处添加'\0'构成字符串;

当读了n-1个字符后,仍未读到'\n',也会自动添加‘\0’,结束读取。

2、fgets的返回值:

成功:返回指向该串的指针,

失败或读到文件结尾返回空指针,

所以可以通过fgets的返回值来判断文件是否读完

3、fgets经常用来读取配置文件的内容

配置文件cfg.ini内容如下:

注意: 

1)配置文件的标题是用中括号[]----->这个与QSettings的格式类型完全一样。

2)标题下内容用=赋值,中间不要加空格了,否则读取的时候麻烦。

3)最后一行内容写完之后一定要回车(文中可以看到是有8行)

4、fgets示例

char* func(const char *filename,const char*title,const char *key)
{FILE *fp = fopen(filename,"r");if(!fp){perror("fopen");return NULL;}static char buff[1024];//定义足够长的缓冲区来读取每行,防止读不全;//因为要返回char*,所以此处为staticchar *p;//指向字符串中‘=’位置的指针char new_title[1024];    //构造出[]形式sprintf(new_title,"[%s]",title);int length = strlen(new_title);bool flag = false;while(fgets(buff,1023,fp))//最多读取1023个字符{if(strncmp(buff,new_title,length)==0){flag = true;continue;}if(flag){if(strncmp(buff,key,strlen(key))==0){p = strchr(buff,'=');if(p){buff[strlen(buff)-1] = '\0';//将末位的'\n'替换为'\0'fclose(fp);return p+1;}}}}
}
void main()
{char* str = func("cfg.ini","uSER", "NAME" );cout<<str;
}

fgets()函数的使用分析相关推荐

  1. php fgets 换行,php fgets 函数

    php fgets 函数 fgets ( PHP 4中, PHP 5中) fgets -获取线从文件指针 描述 字符串fgets (资源$处理[摘要$长度] ) 得到线从文件指针. 参数 把柄 文件指 ...

  2. Atitit main函数的ast分析  数组参数调用的ast astview解析

    Atitit main函数的ast分析  数组参数调用的ast astview解析 1.1. Xxcls.main(new String[]{"","bb"}) ...

  3. 【C 语言】文件操作 ( 按照文本行的方式读写文件 | fgets 函数 | fputs 函数 )

    文章目录 一.fgets 函数 二.fputs 函数 三.按照文本行的方式写文件 四.按照文本行的方式读文件 一.fgets 函数 fgets 函数 : 从 FILE *stream 指针指向的文件中 ...

  4. c语言gets()函数与它的替代者fgets()函数

    在c语言中读取字符串有多种方法,比如scanf() 配合%s使用,但是这种方法只能获取一个单词,即遇到空格等空字符就会返回.如果要读取一行字符串,比如: I love BIT 这种情况,scanf() ...

  5. C语言fgets()函数(以指定长度读取文件中的字符,并存入字符数组变量中)

    C语言fgets()函数(以指定长度读取文件中的字符,并存入字符数组变量中) 需要引入C 标准库 - <stdio.h> 文章目录 描述 声明 参数 返回值 实例 测试(确实只能读n-1个 ...

  6. Windows2000下Api函数的拦截分析

    Windows2000下Api函数的拦截分析 来源:网络 作者: 查看:[大字体 中字体 小字体] 编辑:napl 简介: Api拦截并不是一个新的技术,很多商业软件都采用这种技术.对windows的 ...

  7. python asyncio回调函数_python回调函数用法实例分析

    python回调函数用法实例分析 本文实例讲述了python回调函数用法.分享给大家供大家参考.具体分析如下: 软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用.回调和异步 ...

  8. python中max函数用法_Python中max函数用法实例分析

    Python中max函数用法实例分析 更新时间:2015年07月17日 15:45:09 作者:优雅先生 这篇文章主要介绍了Python中max函数用法,实例分析了Python中max函数的功能与使用 ...

  9. c语言fgets函数的用法

    fgets()函数用于从文件流中读取一行或指定个数的字符,其原型为:     char * fgets(char * string, int size, FILE * stream); 参数说明: s ...

最新文章

  1. tensorflow打印模型结构_Tensorflow上手1: Print与py_func
  2. libcurl 多线程使用注意事项 - Balder~专栏 - 博客频道 - CSDN.NET
  3. 第1章 ASP.NET 3.5与开发工具
  4. 原生安卓10怎么打开面部识别_《原创》安卓系统手机只需一步立即提速翻倍,越久的手机越见效...
  5. js读取http chunk流_极简 Node.js入门 教程双工流
  6. 解决百度 ueditor v1.4.3 编辑器上传图片失真的bug?
  7. 03 回归算法 - 线性回归求解 θ(最小二乘求解)
  8. centos 安装gcc
  9. 海思35系列型号排行_11月手机性能排行榜:小米10至尊纪念版排名第三
  10. 计算机毕业设计源码—SpringBoot+Vue宿舍管理系统
  11. 嫡权法赋权法_赋权法_
  12. 把小米盒子变成文件服务器,【教程】教你在小米电视、小米盒子上导出应用源文件分享!...
  13. PHP网页输入年份查找生肖,vb十二生肖程序 根据年份的输入便可以查询到你是什么生肖...
  14. pip安装scikit-learn
  15. ios wifi 定位_iOS开发Wifi 定位原理及iOS Wifi 列表获取
  16. windows无法连接到打印机,错误为0x0000000b,无效句柄,解决办法。
  17. Java控制无人机程序_深入了解ROS之编写无人机控制程序包
  18. request.querystring php,ASP_ASP读取Request.QueryString编码的函数代码,1. 支持参数纯汉字 ?a=深山老熊 - phpStudy...
  19. JS两个日期之间计算时间差(返回:天数,小时,分钟,秒数)
  20. 骨干网络演化释义以及TCP BBR的部署环境问题

热门文章

  1. A*算法:启发式(heuristic)算法
  2. yyyy/mm/dd变成yyyy-mm-dd
  3. 如何在VC中加减日期及 CTime COleDateTime的常用操作和比较
  4. scnprintf和snprintf的区别
  5. (2019.2) Anki2.1 自建服务器临时解决方案及一些想法
  6. python for循环与函数
  7. VMware ESXi 7.0 Update 3k - 领先的裸机 Hypervisor (sysin Custom Image)
  8. 《关于炒股有意思的几个“故事” 》
  9. 论文写作——如何作图(visio/ppt+Adobe Acrobat Pro)
  10. PHP使用swagger-php自动生成api文档(详细附上完整例子)