引言
操作文件的正确操作流程为:
打开文件—>读写文件—>关闭文件
在对文件进行读写操作之前,需要先打开文件,操作完成之后就要关闭文件!所谓的打开文件,就是需要获取文件的信息,例如文件名、文件状态以及文件位置;而对于文件的操作,就是对文件的读(read)与写(write),C语言对于文件的操作十分的灵活;同时在对文件完成操作之后,就需要关闭文件,不仅是为了禁止对文件的操作,同时也是为释放储存文件指针FILE的内存空间资源。
文件流:
文件资源与内存之间进行数据交换的过程就称之为文件流。从文件到内存的数据交换过程就称之为输入流,而从内存到文件的数据交换过程就称之为输出流。
数据流:
数据源与内存之间进行数据交换的过程就称之为数据流。从数据源到内存的数据交换过程就称之为输入流,而从内存到数据源的数据交换过程就称之为输出流。
在计算机的世界中,所谓的输入输出(Input and Output,IO)就是指内存与外部设备之间进行数据的交换,以程序的内存为中心,数据流入内存称之为输入,数据流出内存到外部设备称之为输出。
@云主宰苍穹—文件操作
打开文件
打开文件就是让程序与文件之间建立连接的过程。C语言中打开文件的函数在标准头文件中。
使用 头文件中的 fopen() 函数即可打开文件,它的用法为:
FILE *fopen(char *filename, char *mode);
FILE:是标准头文件里面的一个结构体变量,用于存储打开文件的信息,在使用时只需要定义一个FILE类型的指针变量用于接受fopen函数的返回值即可;filename:文件名(包括文件路径),mode:打开方式,它们都是字符串。
在打开文件的操作中,就必须要判断文件是否打开成功,这一步是非常重要的!通常笔者采用判断返回的指针是否为NULL来判断,若为NULL,则打开文件失败!
判断打开文件是否成功
FILE *fp;
if( (fp=fopen("D:\\demo.txt","rb") == NULL )
{
printf("Fail to open file!\n");
exit(0); //退出程序(结束程序)
}
操作文件
对于文件的不同操作就需要不同的文件权限,也就是打开文件的方式。使用fopen函数打开文件有以下几种打开方式:
调用 fopen() 函数时必须指明读写权限,但是可以不指明读写方式(此时默认为"t")。读写权限和读写方式可以组合使用,但是必须将读写方式放在读写权限的中间或者尾部(换句话说,不能将读写方式放在读写权限的开头)。
简单来说,文件打开方式由 r、w、a、t、b、+ 六个字符拼成,各字符的含义是:
r(read):读w(write):写a(append):追加t(text):文本文件b(banary):二进制文件+:读和写关闭文件
在对文件一旦操作完成,就应该用 fclose() 函数将文件关闭,以释放相关资源,避免数据丢失。fclose() 的用法为:
int fclose(FILE *fp);
fp 为文件指针。例如:fclose(fp);
文件正常关闭时,fclose() 的返回值为0,如果返回非零值则表示有错误发生。
C语言的文件操作流程代码
#include
#include
#define N 100
int main()
{
FILE *fp;
char str[N + 1];
//判断文件是否打开失败
if ( (fp = fopen("d:\\demo.txt", "rt")) == NULL )
{
puts("Fail to open file!");
exit(0);
}
//循环读取文件的每一行数据
while( fgets(str, N, fp) != NULL )
{
printf("%s", str);
}
//操作结束后关闭文件
fclose(fp);
return 0;
}
@云主宰苍穹—文件操作流程代码
举报/反馈