14.文件处理
0.文件处理的作用
如果没有文件,我们在内存中写入的内容都会随着程序结束而消失。因此,为了持久性保存内容,我们可以使用文件来储存内容。
程序设计中,我们谈的文件有两种:程序文件;数据文件。
一个文件需要有一个唯一的文件标识,方便用户的识别和引用。
文件名包含三个部分: 文件路径 + 文件名主干 + 文件后缀
D:\C_code\real-warehouse\DAY 81\trial_file.txt
特别的,文件可以不包含后缀。 文件名有一些不可使用的字符,比如?<> ....
文件路径指的是从盘符到该文件所经历的路径中各符号名的集合.
文本文件:在文本编辑器中,人类用肉眼是可以看得懂的:在外存上以ASCII码形式存储,并且在存储之前转换,以ASCII码形式存储的文件就是文本文件。
二进制文件:文本编辑器会出现一堆乱码,因为这些信息使用二进制写出来的;数据在内存中以二进制形式存储,并且在读写的时候不加转换的输出到外存的文件之中。

讯享网
文本文件解析的时候会把任何一个字都看成一个字符并且以ASCII储存,10000占用5个字节;
二进制文件在储存10000时只占用4个字节(一个整形)。
1.文件流 stream
程序的数据向外部设备接收/发送数据时,为了描述数据的走向以及方便的操作,程序设计者们抽象出了 ”文件流“的概念。
我们想要向流中写入数据,或者是从流中读取数据,都需要先打开流,由流来进行不同程序的对接。
文件标准流分为stdin,stdout,stderr三种流。只要C程序运行起来,程序就会默认打开了这三个流。
stdin: 大多数情况下时环境输入,用于scanf和 getchar,这两种函数可以从输入流中读取字符。大致有键盘输入,文件读取,网络,U盘.....
stdout:标准输出流,printf,puts,putchar等函数会向这个流写入字符,使得字符在输出器械上呈现;
stderr:标准错误流,大多数环境中为输出到显示器界面。

三种标准流都是指向FILE型的指针型。在C语言中,通过FILE*类型的指针来维护流的各种操作。 ( 指针是可以指向流的!)
2.文件指针
FILE 是 一个结构体类型的变量,在头文件<stdio.h>中声明。一般会使用一个FILE*的指针来进行对文件参数的修改,让使用更加方便。
FILE* pf = NULL; // 创建一个文件指针
FILE类型是一种结构体数据类型,其定义在stdio.h的头文件当中:

3.文件的打开和关闭
1.打开文件:fopen
FILE* fopen (const char * filename,const char * mode);
指向该流的文件指针会被返回。 (返回值是一个文件指针)
第一个参数是文件的名字,第二个参数是打开的模式。两个参数都是字符串,用双引号引起,打开模式在下方罗列;

在人类打开文档写入内容的时候要注意有没有换行。换行也是字符,append会默认在最后一个字符后方开始打印,如果文档中已经有了换行符,则会从下一行开始打印。
相对路径:默认在.c 文件的同一个文件夹中
绝对路径: 记得使用\来把转义字符\变成一个正常的斜杠。 一定要有反斜杠!!!!
![]()
省略路径: .(这一个点)本级路径 ..(这两个点)上一级路径。

表示这个文件创建在.c程序本文文件的上两级路径中,模式是只写。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/128708.html