工作中做的项目,经常需要读取一些脚本,就是一些txt文件,用python读取很简单,但是我们很多工具也是用c/c++语言写的,用c的话读取文件我一般是按照如下的方式:

while(fscanf(pFile,"%[^\n]",CmdLine)!=EOF)

fgetc(pFile);
...
}

其中,pFile是调用fopen函数返回的文件句柄,cmdline是定义的char型数组,用来存储一行的内容。此code运用了fscanf的方式,一行一行的读取txt文件,在while中做处理。其中的%[^\n]属于正则表达式,代表不遇到换行符就一直读下去,直到遇到换行符\n,fscanf函数就退出。退出后进入while,执行fgetc函数,读取一个字符,文件句柄向后移动一个字符,相当于跳过了\n换行符,下一次就从下一行开始读了。

也有用下面的方法读取的:

while(fscanf(pFile,"%[^\n]%*c\n",CmdLine)!=EOF)
{
...
}

相当于将fgetc函数移除,改为正则表达式中%*c的方式跳过\n换行字符。但是我在工作中发现这种方法有一个问题,那就是遇到第一行是空的,从第二行才开始有内容的文件的时候,程序会一直停在第一行无限循环下去,CmdLine中什么也读不到。我觉得貌似是fscanf中使用正则表达式的bug,毕竟正则表达式的支持还是shell或python这种脚本语言比较好。用fgetc就不会出现这种情况。所以还是建议用第一种方法读取文件。

c语言一行一行的读取txt文件相关推荐

  1. c语言创建写入和读取TXT文件数据

    下面是一个简单文件读取程序,首先是写数据,将数字0~9写入到data.txt文件中,然后再从data.txt中读取数据,将读到的数据存到数组a[10]中,并且打印到控制台上. 下面是程序: [cpp] ...

  2. php随机抽取txt一行_PHP随机读取TXT文件某行内容

    正文 最近在开发一个类似"一言"的一句话输出平台,数据方面我没有用到 MySQL 也没用到 sqlite,因为我打算用TXT格式的文本来储存数据,理由很简单,TXT写出写入的速度都 ...

  3. 使用io流一行一行读取txt文件

    io流分为字符流和字节流 字节流是万能流,可以处理任何数据,包含图片.视频.文字等,传输单位为字节 字符流只能读取文本数据,传输单位为字符 (一)"字节"的定义 字节(Byte)是 ...

  4. Python——读取txt文件每一行数据

    Python--读取txt文件每一行数据生成列表 一.例子1 (间隔符:逗号) 1.1 文件 1.2 代码 1.3 结果 二.例子2 (间隔符:空格) 2.1 文件 2.2 代码 2.3 结果 参考文 ...

  5. python怎么读文件里的某一行-python读取txt文件并取其某一列数据的示例

    菜鸟笔记 首先读取的txt文件如下: AAAAF110 0003E818 0003E1FC 0003E770 0003FFFC 90 AAAAF110 0003E824 0003E208 0003E7 ...

  6. python读取txt每一行-Python逐行读取txt文本,按符合分割词并逐行写入txt

    背景Background: 我的txt文件里面存放的是搜索词,由于原始的query(搜索词)都是用/或者.来分割词,而我要达到的是每个词语是单独的一行,并且写入txt 第一步:按行读取txt文件 s ...

  7. c++语言读取txt文件,C++中读写txt文件并分离字符的方法

    在实际工程中,经常遇到需要读取txt文件,txt文件中存的是一些小数或者整型数据,在C++中,可以利用string类和ifstream库文件对txt进行的读取,不过读回的数据经常是以字符串的形式返回, ...

  8. R语言用read.table()函数读取txt文件时报错incomplete final line found by readTableHeader

    一.在读取txt文件时,需要注意两个问题 1.首先要需要用getwd()函数查看一下,当前编辑的文件路径. 如: 如果txt文件不在该路径下,则读取txt文件会报错. 2.此外,需要注意txt文件中需 ...

  9. c语言 读取TXT 去空格,C语言读取TXT文件,忽略文件空格,把内容写入数组中应该如何实现...

    C语言读取TXT文件,忽略文件空格,把内容写入数组中应该怎么实现? #include #include #define SIZE_view 50 struct view_info { int id; ...

最新文章

  1. 您的JVM是否泄漏文件描述符-像我的一样?
  2. pks系统如何添加服务器,pks服务器的上电步骤.pdf
  3. amd cpu不能在cmd环境下运行java代码_「我们一起学Java02」JDK、JRE、JVM简介,Java开发平台的搭建...
  4. asp.net将内容导出到Excel,Table表格数据(html)导出EXCEL
  5. Ubuntu如何启动Pycharm
  6. android 开机打开串口失败,请大神帮我看看这是怎么回事,一用就说串口打开失败,再电脑上试...
  7. 移动webAPP前端开发技巧汇总
  8. mybatisplus中的xml对象参数传递
  9. c++ 读取写入txt
  10. 解决Apex英雄下载慢、origin平台下载打开的究极3种方法
  11. Bootstrap从入门到精通(全)
  12. 用友T3 反结账反记账
  13. 软件观念革命:交互设计精髓_“被催债”的设计推荐书单
  14. PICKIT3 WIN10 无法连接问题解决
  15. 什么是 SNMP 和 MIB什么是 SNMP 和 MIB
  16. python中iter是什么意思,python中iter的用途是什么?
  17. dgl edges_浏览器趋势2016年10月:Microsoft Edges下降
  18. (翻译)稀缺模式(Scarcity)
  19. python实现克莱姆法则
  20. PNG warning: iCCP: known incorrect sRGB profile

热门文章

  1. Android 天气APP(一)开发准备
  2. 小程序个人中心(我的页面)
  3. F5系统配置备份及恢复
  4. java关于“随机点名器“的案例
  5. Go实战--golang中使用JWT(JSON Web Token)
  6. 测试工程师到底需要具备哪些能力?
  7. linux修改文件所有者和文件所在组
  8. 小米智能插座、小米温湿度计2、涂鸦灯泡 接入Home Assistant
  9. 二年级数学计算机教学教案,人教版-小学二年级数学上册全套教案.pdf
  10. 如何全链路进行前端性能优化