C语言中对文件的操作

本文介绍了C语言中关于文件的操作,包括文件名的组成部分、文件的打开与关闭、读写顺序。详细讲解了fopen、fclose、fputc、fgetc、fputs、fgets、fwrite及fread等函数的使用,涵盖了文件读写的多种场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,我们要知道什么是文件名——在大多是人看来,文件名就是文件本身的名字,但在c语言中,文件名包含3个部分,文件路径、文件名主干、文件后缀。

例如:

在上述例子中,test之前的都是文件路径,后面的txt是后缀,test是文件主干。

在程序设计中,我们一般谈论两种文件,程序文件、数据文件。.

程序文件:包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe)。

数据文件:文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出内容的文件。

我们用test.文件往data文件中写入数据,需要数据时从data文件中读取。

但是这样的关系并不绝对,不是说只有后缀为.c文件才可以进行写入,可以是后缀为.c 的往.c中些,也可以是键盘往后缀.c的文件中写入,然后从后缀为.c的文件中读出数据在显示器中呈现。

1:文件的打开和关闭

缓冲文件系统中,关键的概念是“文件类型指针”,简称“文件指针”,该结构体类型是有系统
声明的,取名FILE

例如当要打开一个text.exe的文件的时候,需要一个FILE* 的指针来接收;

FILE* pf=fopen("text.exe","w");以写的方式打开文件,如果目录中没有这个文件,就是创建一个名为text的文件。

 

 如果想要打开其他路径下的文件,那么就在文件前加上路径,为防止“\”被认定为转义字符,在“\”前再加一个“\”。

如果目录中没有这个文件,就会打开失败,将会给pf返回一个空指针(NULL)。

打开的文件需要用fclose(pf)来关闭。

 2.文件的读写顺序 

2.1  写文件(fputc)

fput的使用格式fputc(char c,FILE*  pf )。fputc会自动加一。

读取pf中的字符放入字符c中。

 

上面的程序在文件中输入a到z;

 

 上方的stdout是直接将数据输出到屏幕中。

程序运行就有三个流,stdin——标准输入流,stdout——标准输出流,stderr——标准错误流。

2.2 读文件

2.2.1 fgetc 的格式  

 读取正常返回字符的ASCII码值,否则返回EOF。

fgetc自动依次读取文件中的字符并打印。

 

 使用while语句打印文件内所有字符

2.2.2 fputs(往文件中写入数据)

 
用stdout直接将字符输入到屏幕中

 2.2.3  fgets(从文件中读取字符串)

返回string字符串,n是最多读取的字符个数,实际上最多读取n-1个字符。 

若遇到错误或者读取文件结束,则返回NULL;

从data文件中读取一个字符串,既第一行字符串,放入到buf数组中

 两次读取写入,则打印两行字符串

 2.2.4  fwrite(写入数据)

将buffer中的数据写入到文件中(FILE*),size是写入文件的单位个数的大小(int为4),count是要写入的数据个数。

 2.2.5  fread

从流(文件FILE*)中去读取count个大小为size的数据放入buffer中。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值