c语言文件操作步骤是,文件操作的正确流程,C语言文件操作的函数

引言

操作文件的正确操作流程为:

打开文件—>读写文件—>关闭文件

在对文件进行读写操作之前,需要先打开文件,操作完成之后就要关闭文件!所谓的打开文件,就是需要获取文件的信息,例如文件名、文件状态以及文件位置;而对于文件的操作,就是对文件的读(read)与写(write),C语言对于文件的操作十分的灵活;同时在对文件完成操作之后,就需要关闭文件,不仅是为了禁止对文件的操作,同时也是为释放储存文件指针FILE的内存空间资源。

文件流:

文件资源与内存之间进行数据交换的过程就称之为文件流。从文件到内存的数据交换过程就称之为输入流,而从内存到文件的数据交换过程就称之为输出流。

数据流:

数据源与内存之间进行数据交换的过程就称之为数据流。从数据源到内存的数据交换过程就称之为输入流,而从内存到数据源的数据交换过程就称之为输出流。

在计算机的世界中,所谓的输入输出(Input and Output,IO)就是指内存与外部设备之间进行数据的交换,以程序的内存为中心,数据流入内存称之为输入,数据流出内存到外部设备称之为输出。

dec7524c1c68e4f78924f3f55b74c0ae.png@云主宰苍穹—文件操作

打开文件

打开文件就是让程序与文件之间建立连接的过程。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函数打开文件有以下几种打开方式:

24f3d18d03f41ca352936c53468d4d8d.png

调用 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;

}

590d6ce9ff9cbc9e194c48dae8a060ca.png@云主宰苍穹—文件操作流程代码

举报/反馈

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值