文章目录
前言一、文件1.什么是文件?2.文件名 二、文件的打开和关闭1.文件指针2.文件的打开与关闭 三、文件的顺序读写总结
前言
本文主要介绍C语言中文件操作的相关内容(例:文件读、写等相关函数)。
一、文件
在对计算机的使用中我们几乎离不开文件。例如常见的有word 文档,txt文本文件,图片文件、音频文件等。
1.什么是文件?
文件是以计算机硬盘为载体存储在计算机上的信息集合。是数据源的一种,最主要的作用是保存数据。
在程序设计中,我们可将文件分为两大类:程序文件和数据文件
(1)程序文件
包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序文件(windows环境后缀为.exe)。
(2)数据文件
文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出内容的文件。
2.文件名
文件名是文件存在的标识,操作系统根据文件名来对其进行控制和管理。每个文件都被设定一个指定的名称,由文件主名和扩展名组成。
即:一个文件要有一个唯一的文件标识,以便用户识别和引用。
文件名包含三个部分:文件路径+文件名主干+文件后缀
例:D:\Windows Kits\10\Lib\test.txt
二、文件的打开和关闭
1.文件指针
我们对文件进行一系列的操作——打开文件、关闭文件、向文件中写入数据、从文件中读出数据。所有的操作都离不开文件指针。
文件指针: FILE*
FILE:每个被使用的文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(文件的名字,文件状态及文件当前的位置等)。这些信息是保存在一个结构体变量中,取名FILE。
FILE* :通过一个FILE的指针来维护这个FILE结构的变量,对文件进行操作。
FILE* pf;//文件指针变量
pf是一个指向FILE类型数据的指针变量。即通过文件指针变量能够找到与它关联的文件。
2.文件的打开与关闭
(1)fopen函数
在C语言中,操作文件之前应该先打开文件。使用 <stdio.h> 头文件中的 fopen() 函数可以打开文件。
用法如下:
//打开文件FILE * fopen ( const char * filename, const char * mode );
第一个参数filename为文件名(包括文件路径),第二个参数mode为打开方式。若打开成功,fopen返回一个结构指针地址,否则返回NULL。
如果没有指定文件路径,则默认为当前工作目录。
例:
//首先定义文件指针:fpFILE *fp;//用fopen()函数卡开文件, r——>以只读方式打开fp = fopen("test.txt", "r"); //没有指定文件路径,则默认为当前工作目录。
(2)fclose函数
在执行完文件的操作后,要用 fclose() 函数进行“关闭文件”操作。以此释放相关资源,避免数据丢失。同时也可提高系统整体的执行效率。
fclose() 的用法为:int fclose(FILE *fp);
//fp 为文件指针,关闭文件代码如下:fclose(fp);
关闭成功返回值0,否则返回非零值。
以下是文件的打开方式:
例:以只写方式打开 W
#include <stdio.h>int main(){ FILE* pf; //打开文件 pf = fopen("file1.txt", "w"); //创建文件并进行判断 if (pf != NULL) { printf("打开文件成功!"); //关闭文件 fclose(pf); } return 0;}
三、文件的顺序读写
打开文件后要对文件进行具体的操作,以下为文件的读写函数
功能 | 函数名 |
---|---|
字符输入函数 | fgetc |
字符输出函数 | fputc |
文本行输入函数 | gets |
文本行输出函数 | fputs |
格式化输入函数 | fscanf |
格式化输出函数 | fprintf |
二进制输入 | fread |
二进制输出 | fwrite |
例:
#include <stdio.h>int main(){ FILE* fp; fp = fopen("D:\\codeFile\\test1.txt", "r"); if (fp != NULL) { //feof(file stream )文件指针到达文件末尾 while (!feof(fp)) //读文件 printf("%c", fgetc(fp)); } else printf("fail to open! \n"); fclose(fp); return 0;}
结果:(feof()函数检查文件是否读取完毕)
总结
提示:以上就是本文是全部内容