文章目录

  • 【C语言】C语言读取文本文件
    • 一 前言
    • 二 按字符读取文本文件
      • 1、程序实现一
      • 2、程序实现二
      • 3、以西游记为海量文本进行测试
    • 三、按行读取文本文件
      • 1、程序实现一
      • 2、程序实现二
    • 四、说明

【C语言】C语言读取文本文件

一 前言

时不时牵扯到做处理文件,然后就要读取文本,每次都要重新写,这里就做一个记录,方便以后用到,就直接复制粘贴就ok。

二 按字符读取文本文件

1、程序实现一

1:代码

/*程序功能:分别按照字符,行标识读取文本文件*/// 一、按照字符读取文本文件
#include <stdio.h>
int fileHang(FILE *fp);int main(int argc, char *argv[])
{int flag;char ch;char *f1 = argv[1];         //  后台参数FILE *fp1 = fopen(f1, "r"); // 创建文件指针及打开文本文件if(fp1 == NULL){printf("文件 %s 打开时发生错误", f1);return -1;}while((ch=fgetc(fp1)) != EOF){// putchar(ch);printf("%c",ch);}// fileHang(fp1);fclose(fp1);return 0;
}

2:结果

2、程序实现二

1:代码

/*程序功能:分别按照字符,行标识读取文本文件*/// 一、按照字符读取文本文件
#include <stdio.h>
int fileHang(FILE *fp);int main(int argc, char *argv[])
{char *f1 = argv[1];         //  后台参数FILE *fp1 = fopen(f1, "r"); // 创建文件指针及打开文本文件if (fp1 == NULL){printf("文件 %s 打开时发生错误", f1);return -1;}fileHang(fp1); // 调用自定义函数fclose(fp1); // 关闭文件指针return 0;
}// 创建子函数
int fileHang(FILE *fp1)
{int lines = 1;char ch;while ((ch = fgetc(fp1)) != EOF)// 读取到文件末尾或读取失败时返回 EOF{ if (ch == '\n'){lines++;}// putchar(ch);printf("%c", ch);}printf("\n 一共 %d 行",lines);return 1;
}

2:结果

3、以西游记为海量文本进行测试

1:代码

/*程序功能:分别按照字符,行标识读取文本文件*/// 一、按照字符读取文本文件#include <stdio.h>
#include<time.h>int fileHang(FILE *fp);int main(int argc, char *argv[])
{clock_t start,finish;double duration;char *f1 = argv[1];         //  后台参数FILE *fp1 = fopen(f1, "r"); // 创建文件指针及打开文本文件start = clock();if (fp1 == NULL){printf("文件 %s 打开时发生错误", f1);return -1;}fileHang(fp1); // 调用自定义函数fclose(fp1); // 关闭文件指针finish = clock();duration = (double)(finish - start) / CLOCKS_PER_SEC;printf("\n一共耗时 %f 秒",duration);return 0;
}// 创建子函数
int fileHang(FILE *fp1)
{int lines = 1;char ch;while ((ch = fgetc(fp1)) != EOF)// 读取到文件末尾或读取失败时返回 EOF{ if (ch == '\n'){lines++;}// putchar(ch);printf("%c", ch);}printf("\n 一共 %d 行",lines);return 1;
}

2:结果

三、按行读取文本文件

1、程序实现一

1:代码

/*程序功能:分别按照字符,行标识读取文本文件*/// 二、按照行读取文本文件
#include <stdio.h>
#include <stdlib.h>
#define MAX 1024
int fileHang(FILE *fp);int main(int argc, char *argv[])
{char line[MAX];int lines = 0;char *f1 = argv[1];         //  后台参数FILE *fp1 = fopen(f1, "r"); // 创建文件指针及打开文本文件if (fp1 == NULL){printf("文件 %s 打开时发生错误", f1);exit(1);}while(fgets(line,MAX,fp1) != NULL){// 或者,使用whie(!feof(fp1)){fgets(line,MAX,fp1)}lines++; // 统计行数printf(line);// 打印文本}// fileHang(fp1); // 调用自定义函数printf("\n一共 %d 行",lines);fclose(fp1); // 关闭文件指针return 0;
}

2:结果

2、程序实现二

1:程序

/*程序功能:分别按照字符,行标识读取文本文件*/// 二、按照行读取文本文件
#include <stdio.h>
#include <stdlib.h>
#define MAX 1024
int fileHang(FILE *fp);int main(int argc, char *argv[])
{char line[MAX];int lines = 0;char *f1 = argv[1];         //  后台参数FILE *fp1 = fopen(f1, "r"); // 创建文件指针及打开文本文件if (fp1 == NULL){printf("文件 %s 打开时发生错误", f1);exit(1);}fileHang(fp1); // 调用自定义函数fclose(fp1);   // 关闭文件指针return 0;
}// 创建子函数
int fileHang(FILE *fp1)
{int lines = 0;char line[MAX];while (fgets(line, MAX, fp1) != NULL){lines++;      // 统计行数printf(line); // 打印文本}printf("\n 一共 %d 行", lines);return 1;
}

2:结果

四、说明

以上的程序实现一和实现二其本质上是一样的,区别就是实现二是将代码封装了起来。

【C语言】C语言读取文本文件相关推荐

  1. R语言readLines函数、n.readLines函数、readline函数读取文本文件实战

    R语言readLines函数.n.readLines函数.readline函数读取文本文件实战 目录 R语言readLines函数.n.readLines函数.readline函数读取文本文件实战 # ...

  2. C语言的文件读取与写入操作

    学了一年的C语言了,现在回过头来做一下总结.并且博客开了挺长一段时间却没有谢什么实际的东西.现在做下总结,对之后的学习帮助应该挺大的.与大家共勉! 现在,我先来介绍一下C语言的文件读取与写入的原理和具 ...

  3. Nwafu-OJ-1488 Problem r C语言实习题八——文本文件行统计

    问题 : C语言实习题八--文本文件行统计 时间限制: 1 Sec  内存限制: 128 MB 提交: 4339  解决: 1145 [提交][状态][讨论版] 题目描述 请编写函数从文本文件中读取指 ...

  4. r语言导出文件为xlxs_R语言学习——R读取txt、csv、xls和xlsx格式文件

    最近项目中运用到了R读取文件数据,所以把相关好用的.经过验证的方法总结了一下,有效避免下次入坑. 1. R读取txt文件 使用R读取txt文件直接使用read.table()方法进行读取即可,不需要加 ...

  5. R语言中 数据读取与写入

    R中其他读取: source  #读取R代码 dget    #读取R文件 load    #读取工作空间 一.R语言读取文本文件(.txt) 在R语言中,读取文本文件的函数可以是:read.tabl ...

  6. R语言导入、读取网络CSV数据(Read a CSV from a URL)实战:R原生read_csv、readr包、data.table

    R语言导入.读取网络CSV数据(Read a CSV from a URL)实战:R原生read_csv.readr包.data.table 目录 R语言导入.读取网络CSV数据(Read a CSV ...

  7. R语言scan函数读取文件为向量或者列表格式实战

    R语言scan函数读取文件为向量或者列表格式实战 目录 R语言scan函数读取文件为向量或者列表格式实战 #基本语法

  8. java通过url获取网页内容_Java语言通过URL读取网页数据并保存到本地文件(代码实例)...

    本文主要向大家介绍了Java语言通过URL读取网页数据并保存到本地文件(代码实例),通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. Java通过URL读取网页数据并保存到本地文件(代码 ...

  9. c语言feek函数读取中文出现乱码

    c语言feek函数读取中文出现乱码 在文件操作的学习中,发现读取文件的中文时会出现乱码 当输入的文字改成英文时则不会出现乱码,于是猜想是否和中文与英文占用的字节有关系,实践得出结论,的确是字节搞的鬼, ...

  10. 【C】C语言打开,读取文件

    文章目录 C语言打开,读取文件 一.明明白白我的心 二.代码飞起来 三.过程不重要,重点看结果 C语言打开,读取文件 一.明明白白我的心 1.gcc编译C语言代码        2.winds10操作 ...

最新文章

  1. anaconda: import numpy报错:ImportError: DLL load failed: 找不到指定的模块。
  2. linux快速上手之多服务器间路由配置
  3. MATLAB reshape()函数和sub2ind()函数
  4. UVA 10142 Australian Voting(模拟)
  5. WEB前端学习一 JS预解释
  6. 《敏捷软件开发过程及最佳实践》培训总结
  7. SQL Server 2008 评估期已过解决方法
  8. 树莓派蜜罐节点部署实战
  9. Python进行特征提取
  10. iOS 手势操作和事件传递响应链
  11. ARM学习(8) axf 工具解析
  12. SWARM-BZZ的联合曲线(Bonding Curve)
  13. Error: Delta RPMs disabled because /usr/bin/applyd
  14. MSRA提出学习实例和分布式视觉表示的极端掩蔽模型ExtreMA
  15. 神经网络 深度神经网络,深度神经网络知识图谱
  16. 全球名校课程作业分享系列(9)--斯坦福CS231n之RNN与计算机看图说话
  17. php 复制文件夹并压缩到最小_php压缩多个文件打包成zip并下载到本地
  18. 沉降观测曲线图 沉降观测汇总_沉降观测曲线图怎么画?
  19. 雷达数据 障碍物判断_数据科学的进入障碍
  20. Golang UDP编程

热门文章

  1. NodeMCU(ESP8266) 接入阿里云物联网平台 踩坑之旅
  2. 计算机系统组成导学案,单元一任务2认识计算机系统的组成导学案.pdf
  3. apache加nginx加Php,Apache/Nginx为PHP设置、添加$_SERVER服务器环境变量
  4. 安卓rom制作教程_刹那 刷机教程20-1三星S10 N10等系列 韩版国行安卓9升级10 详细步骤...
  5. 带领初学者学习 SQL 数据库编程视频教程(28 个视频)
  6. html怎么制作表单,HTML如何制作表单
  7. 微信小程序期末大作业,飞机大战
  8. 郑州大学远程教育学院C语言程序设计题库(二)
  9. 计算机考试准考证去哪下载
  10. csdn代码区的代码不变颜色?