C语言读取TXT文档,要求:按行读取,然后按行分别输出到指定的TXT文件中

您所在的位置:网站首页 c语言读取指定txt文件 C语言读取TXT文档,要求:按行读取,然后按行分别输出到指定的TXT文件中

C语言读取TXT文档,要求:按行读取,然后按行分别输出到指定的TXT文件中

2024-07-16 01:07| 来源: 网络整理| 查看: 265

C语言读取TXT文档,要求:按行读取,然后按行分别输出到指定的TXT文件中

一个复习: 所遭遇的问题及情况需求:

从北京雷灾检测网站上获取到的2002年到2013年的北京地区的雷灾数据,一共629条,为了进行文本聚类,需要把一个txt文件中的629条数据分散到成629个txt文件,手动分类的话至少要耗费5个小时,为了节省时间,选择C语言对629条数据划分为629个txt文件,为以后的文本聚类作准备数据。 由于好久都没有看C语言了,相关的文件输入输出函数都忘记了,也算趁着这个机会复习一下相关知识。

所用到的主要函数:

fopenfeoffgetsfputsfclsoe

为了实现输出文件名的自增操作,使用sprintf函数作为字符串格式化命令,中间确实是掉进了很多的坑,以博客形式把代码附上以此记录一下吧! 时间较为仓促,所以代码的相关优化及美化工作没有做!

代码如下

#include #include #include char * ReadSpeacialLine(int i) { char filename[] = "C:/Users/zhangbin/Desktop/tet/test.txt"; //文件名 FILE *fp; int WhichLine=i; //指定要读取哪一行 int CurrentIndex=0; //当前读取的行 static char StrLine[1024]; //每行最大读取的字符数,可根据实际情况扩大 if((fp = fopen(filename,"r")) == NULL) //判断文件是否存在及可读 { printf("error!"); return NULL; } while (!feof(fp)) { if (CurrentIndex==WhichLine) { fgets(StrLine,1024,fp); //读取一行 printf("%s", StrLine); //输出 return StrLine; } fgets(StrLine,1024,fp); //读取一行,并定位到下一行 CurrentIndex++; //printf("%s", StrLine); //输出 } fclose(fp); //关闭文件 return NULL; } int main() { FILE * fd; char * sBuf ;//= (char *)malloc(1024); char * fileName = "C:/Users/zhangbin/Desktop/tet/"; char sName[1024]; //int num = 1; //sprintf(sName,"%s%d.txt",fileName,num); //printf("%s",sName); //输出位置 for(int i = 0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3