C语言——文件操作

目录

1、流的概念

2、文件的打开和关闭

3、关于文件操作的函数

1、顺序读写介绍

fgetc 

fputc 

fgets 

fputs

 fscanf

fprintf

fread

fwrite 

2、随机读写介绍

fseek 

ftell

rewind

3、文件读取结束后的原因判定

feof和ferror

文件读取结束的标志

文本文件

二进制文件

4、文件缓冲区

解释

举例


C语言中有时要用到文件,那么如何用C语言来操作文件呢?

1、流的概念

我们程序的数据需要输出到外部设备上,也需要从外部设备输入到我们的C语言程序上,为了方便操作,我们抽象出了流的概念(到这里虽然你不理解,其实我也不理解,只需要记住流这个专业名词就好)。

一般情况下,我们要输入数据要先打开流,输入结束后要关闭流,文件操作也要打开文件,操作结束后关闭文件。

那为什么我们平时输入数据时没有打开对应的流呢?

其实C程序在我们开始写程序时就已经提前打开3个流了

stdin-标准输入流,大多数环境下从键盘上输入数据,scanf就是在标准输入流中读取数据;

stdout-标准输出流,大多数环境下在屏幕上输出数据,printf就是在标准输出流中输出数据;

stderr-标准错误流,大多数环境下在屏幕上输出数据;

stdin,stdout和stderr这三个流的类型就是FILE*,通常称为文件指针

C语言操作文件就是通过文件指针来打开和关闭文件的,进行一系列的文件操作;

2、文件的打开和关闭

我们在打开文件时会返回一个FILE*的指针,需要用一个FILE*类型的变量接收它;

ANSIC 规定使⽤ fopen 函数来打开⽂件, fclose 来关闭⽂件;

//打开文件
FILE*pf=fopen("const char *filename","const char *mode");
//关闭文件
fclose(pf);
pf=NULL;

filename 指的是文件名字,mode指的是打开模式       

例如:

int main()
{
//打开文件
FILE*pf=fopen("data.txt","w");
if(pf==NULL)
{
perror("pf");
return -1;
}
//关闭文件
fclose(pf);
pf=NULL;

return 0;
}

3、关于文件操作的函数

1、顺序读写介绍

fgetc 

fgetc是从文件中读入一个字符,用只读的方式打开,返回值是int类型;

22358318adfc4c818e28573395d5ff9e.png

fputc 

fputc是向文件中写入一个字符,用只写的方式打开文件

8a7db1cc60e843e3a32e1a7ad52c78ef.png

fgets 

fgets是从文件中读入一串字符,用只读的方式打开;

c750efd6e15c45c5ad153a77b4804787.png

fgets有三个参数,第一个是char *的指针,第二个是读入的字符个数,第三个是文件指针;

举个例子,fgets就是在p1指向的文件中读入至多4个字符,放入arr中;

为什么是至多四个字符,fgets函数规定的是读入num-1个字符,如果文件中不足num-1个字符,那么就有多少读多少,如果文件中足够num-1个字符,就读入num-1个字符;

<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值