c语言(文件)

c语言(文件)

今天刚学了文件,整理一些重要的东西防止遗忘

1.C语言中的文件是什么

文件(file)一般指存储在外部介质上数据的集合,比如我们经常使用的.txt, .bmp, jpg. .exe,.rmvb等等。这些文件各有各的用途,我们通常将它们存放在磁盘或者可移动盘等介质中。
注:文件一般包括三要素:文件路径、文件名、后缀。
文件路径: 由于在C语言中"一般是转义字符的起始标志,故在路径中需要用两个 ’ \ ‘表示路径中目录层次的间隔,也可以使用’ / '作为路径中的分隔符。
eg:
"D:\ \tulun\ \test.“或者"D:/tulun/test.c”,表示文件test.c保存在D盘tulun目录下。
"test.txt表示当前目录下的文件test.txt.
注: 带D:\ \或者D:/ 的为绝对路径,否则为相对路径。
另:在C语言中,把这些输入和输出设备也看作"文件". stdin; stdout; stderr;

2.流的概念及分类

概念:
程序绕过具体设备,直接与“标准逻辑设备"进行交互,这样就为程序设计者提供了一个不依赖于任何具体I/0设备的统一操作接口,通常把抽象出来的"标准逻辑设备"或"标准文件"称作""。
分类:
按方向分: 输入流和输出流。从文件获取数据的流称为输入流,向文件输出数据称为输出流。
按数据形式分为: 文本流和二进制流。文本流是ASCIl码字符序列,而二进制流是字节序列。
流较为抽象可以用下面图来理解
在这里插入图片描述

3.文本文件和二进制文件的区别

文本文件: 把要存储的数据当成一系列字符组成,把每个字符的ASCI码值存入文件中。每个ASCII码值占一个字节,每个字节表示一个字符。故文本文件也称作字符文件或ASCI文件,是字符序列文件。
二进制文件: 把数据对应的二进制形式存储到文件中。
如图:
在这里插入图片描述

4.文件的具体操作

C语言文件操作的步骤:
打开文件→读写文件→关闭文件

4.1打开函数fopen的原型:

FILE * fopen (const char * filename, const char * mode);
在这里插入图片描述
其他的mode字符表示如下表
在这里插入图片描述
注: vs2019中fopen不可用,需要用fopen_s,具体使用例句。

//FILE* fp = fopen_s("HYH.txt", "w");  //前面fopen的例句。
FILE* fp = NULL;
fopen_s(&fp, "NRJ.txt", "w");    //vs2019得用这个文件编辑语句 

fopen_s的返回值可以参考下面链接:
https://baike.baidu.com/item/fopen_s/6183225?fr=aladdin

4.2关闭函数fclose的原型:

原型int fclose (FILE stream );*
在这里插入图片描述
关闭文件的时候,数据才会真的写进硬盘。
关闭fp的是时候此指针变为空悬指针,此时要将其只想NULL,不然很危险。

4.2字符串格式化函数

4.2.1原型int sprintf ( char * buff, const char * format, …);
在这里插入图片描述
eg:
在这里插入图片描述
4.2.2原型int fprintf ( FILE * stream, const char * format, …);
在这里插入图片描述
在这里插入图片描述
fprintf写数据的时候数据并未写入文件里,数据只是写在了缓冲区里,只有关闭文件时,数据才会进入文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值