C语言 一行一行读取文件txt
参考:怎么用c语言实现读取一个txt文件里的数据 要按行读出来
打开文件 fopen(“需要打开的路径”)
然后使用fgets函数读取行
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LINE 1024
int main()
{char buf[MAX_LINE]; /*缓冲区*/FILE *fp; /*文件指针*/int len; /*行字符个数*/if((fp = fopen("test.txt","r")) == NULL){perror("fail to read");exit (1) ;}while(fgets(buf,MAX_LINE,fp) != NULL){len = strlen(buf);buf[len-1] = '\0'; /*去掉换行符*/printf("%s %d \n",buf,len - 1);}return 0;
}
参考:c语言一行一行的读取txt文件
工作中做的项目,经常需要读取一些脚本,就是一些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换行符,下一次就从下一行开始读了。
参考:fscanf()函数详解
fscanf()函数(有点像正则表达式):
功 能: 从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。
用 法:int fscanf(FILE *stream, char *format,[argument…]);
int fscanf(文件指针,格式字符串,输入列表);
for example:
FILE*fp;
chara[10];
intb;
doublec;
fscanf(fp,"%s%d%lf",a,&b,&c)
返回值:整型,数值等于[argument…]的个数
首先我有一个data。txt的文件里面的数据格式如下:2,50,41,w,20.5858284,52,51,r,52.012547.........................许多条类似的记录,都是以,来分隔的.......................我实现的功能就是把上面文件中的数据的五个字段赋值给相应的五个变量,并且输出这些变量的值。实现的程序如下:#include<stdio.h>
#include<stdlib.h>int main()
{int fd;long dev;long offset;long length;char ch;double ts=0.000000;if((fd=fopen("/home/haixian/ceshi/data.txt","r"))<0){printf("open the file is error!\n");exit(0);}lseek(fd,0,SEEK_SET);while(5==fscanf(fd,"%ld,%ld,%ld,%c,%lf\n",&dev,&offset,&length,&ch,&ts)){在这里就是第二个参数指定分隔参数的格式,在这里使用的是,来分隔。这样就很容易的获取了记录的各个字段的值并不需要自己编写函数来进行解析什么的。printf("%ld,%ld,%ld,%c,%lf\n",dev,offset,length,ch,ts);}
close(fd);
return 0;
}
C语言 一行一行读取文件txt相关推荐
- Jdk8一行代码读取文件
转载自 Jdk8一行代码读取文件 JDK7中引入了新的文件操作类java.nio.file.File,它包含了很多有用的方法来操作文件,比如检查文件是否为隐藏文件,或者是检查文件是否为只读文件.开 ...
- R语言scan函数读取文件为向量或者列表格式实战
R语言scan函数读取文件为向量或者列表格式实战 目录 R语言scan函数读取文件为向量或者列表格式实战 #基本语法
- 【C】C语言打开,读取文件
文章目录 C语言打开,读取文件 一.明明白白我的心 二.代码飞起来 三.过程不重要,重点看结果 C语言打开,读取文件 一.明明白白我的心 1.gcc编译C语言代码 2.winds10操作 ...
- python读取文件第一行_python读取文件首行和最后一行
python读取文件最后一行两种方式 1)常规方法:从前往后依次读取 步骤:open打开文件. 读取文件,把文件所有行读入内存. 遍历所有行,提取指定行的数据. 优点:简单,方便 缺点:当文件大了以后 ...
- go语言按行读取文件
1.打开文件 2.实例阅读者 3.以'\n'结束获取一行内容 package mainimport ("bufio""fmt""io"&qu ...
- python文件读写方法手机_python读取文件—txt文件常用读写操作
txt文件的打开的两种方式: f = open("data.txt","r") #设置文件对象 f.close() #关闭文件 为了方便,避免忘记close ...
- c语言中如何读取文件的内容,急急急!!!如何读取文件中的相关内容
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 c语言下午就要交了,急死人了!!! 在读取文件时,我需要输入一个名字,然后显示名字相关内容,如: Orlando Magic 姓名 球队 出场数 时间 得 ...
- python读取指定行到最后一行_python读取文件最后一行两种方法
原博文 2018-09-27 13:58 − 1)常规方法:从前往后依次读取 步骤:open打开文件. ... 相关推荐 2019-09-28 21:13 − Python python是一种跨平台的 ...
- R语言入门——批量读取文件
目录 引言 1.数据名称 1.1有规律的文件名 1.2无规律的 2.相对路径 3.完整代码例子 总结 引言 在R语言入门--数据快速读取与查看(含实例代码和参数讲解)中介绍了几种R语言读取外部数据的函 ...
最新文章
- 空空排错日志:OCS错误日志14501等解决办法
- 数据分页 THINKPHP3.2 分页 三种分页方法
- Android日期控件如何兼容不同手机
- 信息技术产业的黄金十年?听听他怎么说
- Qt汉字显示乱码的一个简单解决方案
- python open 编码格式_Python以unicode编码格式读入外部文件
- matlab定积分程序,[转载]Matlab数值积分程序集合【转载】
- sha1 file ‘<stdout>‘ write error: Broken pipe
- C#使用FFmpeg实现视频压缩优化的探索
- echarts柱形图x轴y轴的字体大小颜色调整
- 分布式存储引擎大厂实战——一文了解分布式存储的可靠性
- 处理器后面的字母含义_笔记本处理器型号认识
- MacW小编分享设计师们常用Sketch插件合集,让你效率翻倍!
- 新书出版了 - 移动App测试实战
- 35岁测试工程师,公司因疫情降本增效被辞退
- docker更换自己的阿里云镜像地址
- omapl138移植uboot系列之启动TI官方移植的Linux内核(启动内核第一篇)
- 风雨人生,自己撑伞=
- hgame2023 week2 writeup
- python 快乐数判断_Python小课堂 习题答案和讲解