你是真的“c”——C语言中文件操作函数使用的详细讲解~😎
- 前言🙌
- 一、 为什么使用文件:🙌
- 二、 什么是文件:🙌
- 2.1 程序文件
- 2.2 数据文件
- 2.3 文件名
- 3. 文件的打开和关闭
- 3.1 文件指针
- 3.2 文件的打开和关闭
- 4. 文件的顺序读写
- 4.1 三组函数:
- (1)scanf 和 printf
- (2)fscanf 和 fprintf
- (3)sscanf 和 sprintf
- 总结撒花💞
😎博客昵称:博客小梦
😊最喜欢的座右铭:全神贯注的上吧!!!
😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主!
😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘
前言🙌
哈喽各位友友们😊,我今天又学到了很多有趣的知识,现在迫不及待的想和大家分享一下!😘我仅已此文,和大家分享C语言中文件操作函数使用的详细讲解~ 都是精华内容,可不要错过哟!!!😍😍😍
一、 为什么使用文件:🙌
简单来说,文件的作用是:通过文件,可以让我们将数据保存在计算机硬盘上,使得我们的数据能够持久化的存储在我们的计算机上。
二、 什么是文件:🙌
磁盘上的文件是文件。但是在程序设计中,我们一般谈的文件有两种(从文件功能的角度来分类的):
- 程序文件
- 数据文件。
2.1 程序文件
包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境
后缀为.exe)。
2.2 数据文件
文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,
或者输出内容的文件。
2.3 文件名
一个文件要有一个唯一的文件标识,以便用户识别和引用。
文件名包含3部分:文件路径+文件名主干+文件后缀
c:\code\test.txt
为了方便起见,文件标识常被称为文件名。
3. 文件的打开和关闭
3.1 文件指针
缓冲文件系统中,关键的概念是“文件类型指针”,简称“文件指针”。每个被使用的文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(如文件的名字,文件状态及文件当前的位置等)。这些信息是保存在一个结构体变量中的。该结构体类型是由系统
声明的,取名FILE.
不同的C编译器的FILE类型包含的内容不完全相同,但是大同小异。每当打开一个文件的时候,系统会根据文件的情况自动创建一个FILE结构的变量,并填充其中的信息,使用者不必关心细节。一般都是通过一个FILE的指针来维护这个FILE结构的变量,这样使用起来更加方便。
定义pf是一个指向FILE类型数据的指针变量。可以使pf指向某个文件的文件信息区(是一个结构体变量)。通过该文件信息区中的信息就能够访问该文件。也就是说,通过文件指针变量能够找到与它关联的文件。
3.2 文件的打开和关闭
文件在读写之前应该先打开文件,在使用结束之后应该关闭文件。在编写程序的时候,在打开文件的同时,都会返回一个FILE*的指针变量指向该文件,也相当于建立了指针和文件的关系。
ANSIC 规定使用fopen函数来打开文件,fclose来关闭文件。
//打开文件
FILE * fopen ( const char * filename, const char * mode );
//关闭文件
int fclose ( FILE * stream );
- fopen 的第一个参数是要操作的文件名,第二个参数是指定文件打开的方式。
- fclose 的参数指向要操作文件的FILE* 的指针。
举个栗子:
#include <stdio.h>
int main()
{
FILE* pFile;
//打开文件 - 写的形式打开
pFile = fopen("myfile.txt", "w");
//文件操作
if (pFile == NULL)
{
perror("fopen");
//关闭文件
fclose(pFile);
pFile = NULL;
return 1;
}
// 使用文件
//...........
//关闭文件
fclose(pFile);
pFile = NULL;
return 0;
}
已写(W)的形式打开文件,如果原来的该文件不存在,则会建立一个新的文件出来。没有报错,说明我们已经创建好了文件,并且正常打开和关闭文件。
这里也出现了这个文件
4. 文件的顺序读写
下面这张表格,都是一些比较常用的文件操作函数。
4.1 三组函数:
- scanf/fscanf/sscanf
- printf/fprintf/sprintf
(1)scanf 和 printf
scanf 针对的是标准输入流(stdin)的格式化的输入函数;
printf 针对的是标准输出流(stdout)的格式化的输出函数;
(2)fscanf 和 fprintf
fscanf 针对的是所有输入流(文件流、stdin …)的格式化输入函数;
fprintf 针对的是所有输出流(文件流、stdout…)的格式化输出函数;
(3)sscanf 和 sprintf
sscanf 把字符串转换成格式化的数据;
sprintf 把格式化的数据转化成字符串;
总结撒花💞
本篇文章旨在分享C语言中文件操作函数使用的详细讲解【上篇】的相关知识点。希望大家通过阅读此文有所收获!😘如果我写的有什么不好之处,请在文章下方给出你宝贵的意见😊。如果觉得我写的好的话请点个赞赞和关注哦~😘😘😘