C程序设计--文件1--文件的分类+文件的打开和关闭
1.文件分类
- 概念
1) ASCII文件,又称文本文件,每一个字节放一个字符的ASCII代码;
2)二进制文件,又称映像文件,按二进制形式存储。用户一般不能直接读懂它们,只有通过相应的软件才能将其显示出来。二进制文件一般是可执行程序、图形、图像、声音等等。 - 两者的优缺点:
1.ASCII文件:
优点:字节与字符一一对应,便于对字符进行逐个处理;
缺点:一般占存储空间较多,而且要花转换时间(二进制形式与ASCII码间的转换)。
二进制文件编码是变长的,所以它灵活,存储利用率要高些,译码难一些(不同的二进制文件格式,有不同的译码方式)。
2.二进制文件:
优点:可以节省外存空间和转换时间,把内存中的存储单元中的内容原封不动的输出到磁盘(或者其他外部介质)上。
缺点:字节不一定代表一个字符,所以译码难一些(不同的二进制文件格式,有不同的译码方式)
文件的打开和关闭
- 打开文件
- 您可以使用 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件,这个调用会初始化类型 FILE 的一个对象,类型 FILE 包含了所有用来控制流的必要的信息。下面是这个函数调用的原型:
FILE *fopen( const char * filename, const char * mode );
即:FILE *fopen( 文件名, 访问方式 );
- 返回值:返回一个指向文件名的指针,即文件信息区的起始地址,通常将fopen函数的返回值赋给一个指向文件的指针变量。如:
FILE *fp; //定义一个指向文件的指针变量fp
fp=fopen(“D:\\file\\test.txt”,“r”); //将fopen函数的返回值赋给指针变量fp
如果打开失败,fopen函数会带回一个空指针NULL。出错的原因可能:
①用 “r” 或 “a” 方式打开一个并不存在的文件;
②磁盘故障
③磁盘已满,无法建立新文件
等等
所以常用如下方法打开文件:
if((fp=fopen(“file”,“r”))==null){
printf(“cannot open this file\n”);
exit(0);//需要头文件 #include<stdlib.h>
} - 在这里,filename 是字符串,用来命名文件,ASCII文件访问模式 mode 的值可以是下列值中的一个:
如果处理的是二进制文件,则需使用下面的访问模式来取代上面的访问模式:
“rb”(只读), “wb”(只写), “ab”(追加),
“rb+”(读写), “r+b”(读写), “wb+”(读写), “w+b”(读写), “ab+”(读写), “a+b”(读写)
- 关闭文件
- 为了关闭文件,请使用 fclose( ) 函数。函数的原型如下:
int fclose( FILE *fp );
即:int fclose( 文件指针);
- 返回值:
如果成功执行关闭操作,则返回 0;
否则返回 EOF(-1);
推荐参考:
- https://www.cnblogs.com/saolv/p/7793379.html (强烈推荐)
- http://www.runoob.com/cprogramming/c-file-io.html
- https://www.cnblogs.com/pengwangguoyh/articles/3223072.html
C程序设计--文件1--文件的分类+文件的打开和关闭相关推荐
- C语言-文件的打开与关闭
一,什么是文件 凡是用过计算机的人都不会对"文件"感到陌生,大多数人都接触过或使用过文件,就好比如:我们写好一篇文章想把它存放以文件形式保存到磁盘上; 或是是编写好一个程序,希望以 ...
- MATLAB程序设计与应用 4.1 M文件
MATLAB程序设计与应用 文章目录 MATLAB程序设计与应用 4. 第4章 MATLAB程序流程控制 4.1 M文件 4.1.1 M文件的建立与打开 4.1.2 M文件的分类 4. 第4章 MAT ...
- php实现文件管理系统,基于php的文件管理系统程序设计与实现
技术与市场2013年第卷第6期 技术研发 基于php的文件管理系统程序设计与实现 熊燕1,曹晓峰2 (1.达州职业技术学院,四川达州635仪2,达州市人事考试中心,四川达州635仪) 摘要:随着行政管 ...
- 【文件包含漏洞-02】文件包含漏洞分类与原理及其空字符安全绕过实验
文件包含漏洞 文件包含(file inclusion)漏洞,当服务器开启allow_url_include选项时,就可以通过php的某些特性函数(include(),require()和include ...
- 基于python的文件加密传输系统 毕业论文_20183411 李丞灏 2020-2021 《python程序设计》 实验三 加密传输文件 实验报告...
20183411 李丞灏 2020-2021 <python程序设计> 实验三 加密传输文件 实验报告 课程:<Python程序设计> 班级: 1834 姓名: 李丞灏 学号: ...
- linux 按日期复制文件夹,Linux 按文件日期分类文件
一.需求背景 由于业务需要,在特定的FTP下会不断的产生相关文件,大概每分钟一个文件,每天1500个上下.但是长期下去单个目录下文件数量就会太多,可能导致性能问题.所以现在想按照日期将文件分类,将同一 ...
- r读取文件夹下的所有csv文件_[R语言]读取文件夹下所有子文件夹中的excel文件,并根据分类合并。...
解决的问题:需要读取某个大文件夹下所有子文件夹中的excel文件,并汇总,汇总文件中需要包含的2部分的信息:1.该条数据来源于哪个子文件夹:2.该条数据来源于哪个excel文件.最终,按照子文件夹单独 ...
- matlab移动文件到另一个文件夹里,Matlab将文件分类移动到不同文件夹中
一个文件夹中有很多后缀名一样的文件,比如说tiff文件,想根据命名中的分类规律分别把这些文件移动到不同的文件夹中进行归类. 原始文件: 分别想要放到这四个文件夹中: clc clear all fil ...
- pandas排序csv文件并且按时间分类 python学习 pandas应用
具体实现功能:1.读取csv文件:2. 将文件中的数据按照CommitTime排序:3. 将排好序的数据每两个月作为训练数据,隔两个月作为测试数据,生成若干个文件,分别命名为:data_i_fit.c ...
- c语言程序设计实验13文件,第13章_文件---《C语言程序设计》实验指导.ppt
第13章_文件---<C语言程序设计>实验指导 第十三章 主要内容 13.1 C文件概述 13.2 文件类型指针 13.3 文件的打开与关闭 13.4 文件的读写 13.5 文件的定位 1 ...
最新文章
- go1.8之安装配置
- 第一章:Flask安装
- 绘图操作(点,线,多边形,徒手多边形等)
- 三层交换(VLAN间互通+路由功能)+VTP+STP(PVST)综合实验(理论+实践=真实)
- 前端学习(1430):ajax封装五
- C# SNMP 编程
- [golang note] 工程组织
- Web Hacking 101 中文版 十三、子域劫持
- asp.net mvc 发布问题
- Qt Designer设计 UI 文件并调用
- 有没有大佬无偿提供一下 华为HCNA-Cloud Service-题库H13-811
- linux 字幕制作工具,字幕制作工具
- 大数据平台以及一些核心组件介绍
- 无线传输技术比较:蓝牙、UWB、WIFI、NB-LOT
- #64-【模拟】屠城(zly#3)
- 下一代Windows家庭服务器Vail本地化版本发布
- 我的MBTI 职业性格分析报告——ISFP型
- 数据库中几个基本概念 主码 外码
- Android Audio - 支持多个APK同时录音
- Shift+鼠标右键没有:在此处打开命令窗口(W)