如下图data.txt,需要把数据按17行读取到自动命名新建的txt文档里:

1-17行     1.txt

18-34行   2.txt

……

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define FILE_BUF_LEN 1024
#define MODEM_FILE_PATH "./data.txt"
int main()
{int i=0;FILE *fp,*fpw[512];char fbuf[FILE_BUF_LEN];char wfname[50]={""};fp = fopen(MODEM_FILE_PATH,"r");if(fp == NULL){   printf("Open %s Error!\n", MODEM_FILE_PATH);  exit(1); } while(feof(fp)==0){memset(fbuf,0,FILE_BUF_LEN);fgets(fbuf,FILE_BUF_LEN,fp);printf("[%d] >> %s\n",i,fbuf);printf("===== i=%d =====\n",i % 17);if( i % 17 == 0)//0或17行的倍数;{sprintf(wfname,"./gff-gu--%d.txt",i/17);//gff-gu--4.0printf("%s\n",wfname);fpw[i/17] = fopen(wfname,"wb+");printf("i=%d\n",i);if(fpw[i/17] == NULL)//第n个17行;{   printf("Open fpw[%d] Error!\n",  i/17);  exit(1); } }fwrite(fbuf,1,strlen(fbuf),fpw[i/17]);i++;}fclose(fp);                             return 0;
}

以下固定了输出文件名格式gff-gu-*,从-4.0开始0.1递加:


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define FILE_BUF_LEN 1024
#define MODEM_FILE_PATH "./data.txt"
int main()
{int i=0;float num1=-4.0,num2=0;FILE *fp,*fpw[512];char fbuf[FILE_BUF_LEN];char wfname[50]={""};fp = fopen(MODEM_FILE_PATH,"r");if(fp == NULL){   printf("Open %s Error!\n", MODEM_FILE_PATH);  exit(1); } while(feof(fp)==0){memset(fbuf,0,FILE_BUF_LEN);fgets(fbuf,FILE_BUF_LEN,fp);printf("[%d] >> %s\n",i,fbuf);printf("===== i=%d =====\n",i % 17);if( i % 17 == 0)//0或17行的倍数;{num2=(i/17)/10;sprintf(wfname,"./gff-gu--%d.txt",num1+num2);//gff-gu--4.0printf("%s\n",wfname);fpw[i/17] = fopen(wfname,"wb+");printf("i=%d\n",i);if(fpw[i/17] == NULL)//第n个17行;{   printf("Open fpw[%d] Error!\n",  i/17);  exit(1); } }fwrite(fbuf,1,strlen(fbuf),fpw[i/17]);i++;}fclose(fp);                              return 0;
}

以下为范例数据 data.txt

-12      15.67972
-11      14.41002
-10      13.14073
-9       11.87113
-8       10.60172
-7       9.33216
-6       8.06275
-5       6.79329
-4       5.52414
-3       4.25744
-2       3.00386
-1       1.8144
0        0.85292
1        0.31004
2        0.10066
3        0.03197
4        0.01012
-11.9    15.55264
-10.9    14.283
-9.9     13.01364
-8.9     11.74412
-7.9     10.47464
-6.9     9.20512
-5.9     7.93569
-4.9     6.66624
-3.9     5.3972
-2.9     4.1312
-1.9     2.88092
-0.9     1.70527
0.1      0.78
1.1      0.27869
2.1      0.09014
3.1      0.02862
4.1      0.00905
-11.8    15.42555
-10.8    14.15594
-9.8     12.88655
-8.8     11.61707
-7.8     10.34754
-6.8     9.07805
-5.8     7.80861
-4.8     6.53918
-3.8     5.27026
-2.8     4.00512
-1.8     2.75879
-0.8     1.59888
0.2      0.71181
1.2      0.25045
2.2      0.08076
3.2      0.02563
4.2      0.00811
-11.7    15.29842
-10.7    14.02886
-9.7     12.75942
-8.7     11.49
-7.7     10.22041  

C语言 读取txt文档按行读取到新的txt文档相关推荐

  1. C#读取文本数据(按行读取)

    StreamReader sr = new StreamReader(path, Encoding.Default); //path为文件路径String line;while ((line = sr ...

  2. java 一行行读取文件_Java中按行读取文件

    本文译自Java read a file line by line – How Many Ways? 转载请注明出处. Java中的I/O类非常多,什么时候该用什么类经常让人困惑.下面两段代码展示了如 ...

  3. Python读取两个txt文件内容,重新写到新的txt文件

    本博客已经转移到:www.itwps.com 此博客后续不会再更新,详情请关注一下www.itwps.com,谢谢. def test():new_text_path="你需要写入文件的路径 ...

  4. python逐行读取数据_python – Pandas按行读取数据

    通常,数据以列为变量的形式呈现,但是,例如,我在.txt文件中有类似的东西 Data1,1,2,3,4,5 Data2,3,1,4 我可以使用pandas这样的方式构建数据框,就像我从中获得的一样 d ...

  5. 随机生成电话号码保存在txt中并按行读取以及简易抽奖程序

    随机生成电话号码保存在txt中并按行读取 起因是这样的: 要求 1.奖池中电话号码通过文件输入,文件中每一行一个电话号码: 2.在控制台中每 100 毫秒在新行输出一个电话号码,模拟滚动效果: 3.用 ...

  6. java 单字节_java文件读取。(单字节读取和按行读取读取)

    评论 # re: java文件读取.(单字节读取和按行读取读取) 2008-10-06 15:16 隔叶黄莺 再简单也比不过 groovy 的这一行代码 text = new File("f ...

  7. java 读取文件第一行代码,java文件读取。(单字节读取和按行读取读取)

    评论 # re: java文件读取.(单字节读取和按行读取读取) 2008-10-06 15:16 隔叶黄莺 再简单也比不过 groovy 的这一行代码 text = new File("f ...

  8. python读取txt文件写入-python txt文件的写入和读取

    1.文件的打开 使用open () 函数 打开文件.他有两个参数,文件路径或文件名和文件的打开方式. "r" 只读模式,不能编辑和删除文件内容. "w" 写入模 ...

  9. 文件------概念、基本操作、打开文件的方式、按行读取文件内容、复制文件、文件/目录的常用管理操作、文本文件的编码格式、练习1-4

    文件的概念 文件的概念 计算机的文件,就是存储在某种长期储存设备上的一段数据 长期存储设备包括:硬盘.U盘.移动硬盘.光盘... 文件的作用 将数据长期保存下来,在需要的时候使用 文件的存储方式 在计 ...

最新文章

  1. Python基础学习之 函数
  2. SpringCloud 02_什么是分布式、多线程、高并发?(浅析)
  3. 2018-2019-2 20165212《网络攻防技术》Exp5 MSF基础应用
  4. python 交互式可视化库_Python 交互式可视化库
  5. 写接口是什么意思啊_科普贴:果汁包装上写NFC到底是什么意思?
  6. mariadb用户群体mysql_MySQL/MariaDB用户账户管理
  7. 语音识别学习日志 2019-7-13 语音识别基础知识准备 1{语音基础知识}
  8. Mac下VirtualBox虚拟机Win7与主机共享文件夹
  9. subgradients
  10. Java打印9*9乘法表
  11. vs2008 sp1 C++ 发布程序
  12. 华为面试题--字符串重排
  13. 【数据库学习】数据库平台:Postgres(PG)与PostgreSQL
  14. latex normal是几号字_Latex之字体 | 学步园
  15. 树莓派3+安装centos
  16. imac mini 双系统_iMac,Mini和Pro:Apple的台式Mac比较
  17. 【CANN训练营第三季】【进阶班笔记3】PyTorch安装与环境配置
  18. 硬盘健康状态、温度、通电次数、写入量和序列号检查软件
  19. buuoj Pwn writeup 246-250
  20. 通过read()读文件

热门文章

  1. 计算机系统最大的加速能力,系统加速我用Windows系统四大自带工具 -电脑资料
  2. Python:用生成器的方式计算任意起止范围内质数的和。
  3. mysql的错误代码1064_mysql错误代码之1064的解决方案
  4. wamp测试mysql_Wamp 配置及测试
  5. sql 判断记录是否存在_判断数据库是否存在该条记录,count(0) or limit
  6. java 拦截器响应中取所有参数,spring boot拦截器中获取request post请求中的参数
  7. linux动态分配全局置换,深入理解计算机系统 第九章 虚拟存储器
  8. Python教程:with ... as 语句你懂嘛?
  9. python教程:实现延时回调普通函数的方法
  10. python中的代码复用与函数递归