通过一个简单的文件文件压缩例子,来学习文件操作的相关函数。该程序以只读的方式 “r” 打开第一个文件,以只写的方式“w”打开第二个文件。将第一个文件中每隔3个字符取出一个字符存储在第二个文件中。第二个文件的文件名是第一个文件名后面加上 .red 后缀。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>#define LEN 10
int main()
{int ch;FILE *in,*out;char name[LEN];int count = 0;//打开文件1 if((in = fopen("file1.txt","r") )==NULL) {       //读模式打开文件1 fprintf(stderr,"open error!\r\n");         //若文件打开失败,输出错误提示exit(EXIT_FAILURE);}//设置输出strncpy(name,"file1",LEN-5);                 //拷贝文件名,存储在name数组中name[LEN - 5]='\0';strcat(name,".red");                           //在文件名后添加 .redif((out = fopen(name,"w") )==NULL) {         //写模式打开文件2 fprintf(stderr,"can not cread out file! \r\n");}//拷贝数据while( (ch = getc(in)) != EOF){if(count++ %3 ==0)                          //每隔3个字符存储一次putc(ch,out);} //收尾工作if( fclose(in) != 0 || fclose(out) != 0)     //关闭打开的两个文件{fprintf(stderr,"Error in closing files! \r\n");} system("pause");return 0;
}

在文件1中输入以下内容:

程序执行完成之后,就会生成一个新的文件。文件名和第一个文件一样,但是后缀变成了.red。

用记事本打开两个文件,对比里面的内容。

通过内容对比可以看出,文件2中的内容是文件1中每隔3个字符取一个组成的。相当于把一个文件的大小压缩成原来的1/3.

C语言学习笔记---一个简单的文件压缩示例相关推荐

  1. codesys工程ST语言学习笔记(五)打开压缩文件projectarchive失败,指定的工程不能被加载

    codesys解压文件projectarchive失败 不会编译程序或者建立工程的点击第一篇文章codesys工程ST语言学习笔记(一)建立工程与编译 不会编译程序或者建立工程的点击第一篇文章code ...

  2. web学习笔记——一个简单的HTML

    为了更好的做web安全测试,最近开始学习web相关知识.先从最简单的一个html页面开始: <!DOCTYPE html> <html><head><titl ...

  3. [基因课学习笔记]一个简单的基因家族分析

    工作背景 探究在芝麻.大豆以及拟南芥中FAD4-like基因家族进化关系,并使其可视化(进化树) 操作环境及软件的准备 虚拟机应用:VMware Workstation pro 17 虚拟机操作系统: ...

  4. Go语言学习笔记(十八)之文件读写

    25.文件读写 1.文件打开和读 A.文件分类:文本和二进制文件 B.文件存取方式:随机存取和顺序存取 文件打开代码示例: 1: package main 2: 3: import ( 4: &quo ...

  5. C语言学习笔记(二): 简单的C程序设计

    数据的表现形式 常量 在C语言中常量有以下几种: 整型常量: 0,-1,100 实型常量: 小数形式(12.12):指数形式(12.1e3= 12.1 × 1 0 3 12.1\times 10^3 ...

  6. R语言学习笔记【简单语法总结-上】

    简单语法总结[上]: R语言特征总览: 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头,第二个字符不允许 ...

  7. C++ STL 一个简单的文件输入输出示例

    //本程序实例简单介绍C++如何读写文件 #include <iostream> #include <fstream> #include <string> usin ...

  8. Nodejs学习(5)一个简单的koa2的示例

    基本使用 1.下载koa2 npm install --save koa@2.0.0 2.引入koa类 const Koa = require('koa'); 创建Koa的实例 const app = ...

  9. 10-1Python学习笔记 10-2C语言学习笔记 : 在文本编辑器中新建一个文件, 写几句话来总结一下你至此学到的Python知识

    10-1 Python学习笔记 : 在文本编辑器中新建一个文件, 写几句话来总结一下你至此学到的Python知识, 其中每一行都以"In Python you can"打头. 将这 ...

最新文章

  1. AWS 日本出现大规模故障
  2. C++Primer Plus (第六版)阅读笔记 + 源码分析【第三章:处理数据】
  3. 无效0_12位浙江高考生成绩被教育考试院判定无效,0分收场的原因很可惜
  4. JavaScript——易班优课YOOC课群在线测试禁止右键和复制解决方案
  5. SAP Spartacus 读取payment detail数据的API
  6. python运行结果图_[宜配屋]听图阁
  7. html风车相册代码,Css Html 大风车(示例代码)
  8. 苹果 M1 “痛失” Windows 11!
  9. 配置hadoop集群
  10. ci php做多图上传,CodeIgniter快速实现图片上传
  11. php中计算时间差的几种方法,php计算时间差的方法
  12. X3D 参数代码(一)
  13. php支持的协议与封装协议
  14. eviews计算covar_covariance(eviews做协整检验步骤)
  15. Linux命令--wget
  16. 浏览器中的data类型的Url格式,data:image/png,data:image/jpeg!
  17. RT_Thread_事件集
  18. 公司给股票期权,我买还是不买?
  19. 开发工程师的人生是这样的
  20. 诺贝尔物理学奖变身“理综”奖:乍看颁给全球变暖研究,其实背后通用理论模型影响机器学习...

热门文章

  1. AES加密的C语言实现
  2. sem_wait sem_post信号量操作进本函数
  3. Winform里面的缓存,MemoryCache使用
  4. C# Unity依赖注入
  5. 基于OEA框架的客户化设计(一) 总体设计
  6. C# 二进制数据、图片存入、读出 sql server 数据库
  7. 不想在博问中提出的问题
  8. 设计模式之单例模式8种实现方式,其七:静态内部类
  9. Linux服务器性能监控工具
  10. 性能测试第一步——查看设备的硬件配置