前言

上一章节主要讲解联合体,枚举类型,以及特殊的结构体类型:位段,不清楚的可以回顾复习

本章节主要讲解C语言文件操作,全面解析C语言文件操作。

C语言文件

通常,文件用于在计算机中存储用户数据。换句话说,计算机使用文件存储数据。我们可以如下定义: 文件是存储在辅助存储器(如计算机的haddisk)中的数据的集合。

C语言支持两种类型的文件,它们如下:

文本文件(或)ASCII文件

二进制文件

文本文件(或)ASCII文件

包含数字,字母和符号等数据的ASCII码的文件称为文本文件(或)ASCII文件。

二进制文件

含字节(0和1)形式的数据的文件称为二进制文件。通常二进制文件是文本文件的编译版本。

C语言中的文件操作

以下是用C语言编写的文件上执行的操作.

创建(或)打开文件

从文件读取数据

将数据写入文件

关闭文件

以上所有操作都是使用C语言中可用的文件处理功能执行的。我们将讨论文件处理功能。

创建(或)打开文件

要创建新文件或打开现有文件,我们需要创建FILE类型的文件指针。以下是用于创建文件指针的示例代码FILE *f_ptr ;

我们使用预定义的方法 fopen() 创建新文件或打开现有文件。可以使用不同的模式打开文件。考虑以下代码:FILE *f_ptr ; f_ptr = fopen("abc.txt", "w") ;

上面的示例代码创建一个名为 abc.txt 的新文件(如果该文件不存在),否则将以写入模式打开。在C语言中,可以使用不同的模式来打开文件,这些模式如下所示:

注意

二进制文件读写请使用rb,wb,ab,rb +,wb +和ab +

w方式打开文件,文件不存在具有创建文件的功能,文件存在清空文件内容打开

a方式打开文件,追加模式打开文件,不清空文件中的数据

文件读写

C语言存在以下文件读写操作。

fgetc()+fputc():字符方式读写

fgets()+fputs():字符串方式读写

fscanf()+fprintf():格式化读写

fread()+fwrite():字节流读写

C语言中的字符读写方式示例程序

注意:一般文件打开, 是要判断打开文件是否成功的,因为篇幅问题这里就省略掉

C语言中的字符串读写方式示例程序

注意:字符串读写,会为读取的内容末尾加上'\n'

C语言中的格式化读写方式示例程序

格式化读写其实是一种表格数据

C语言中的字节流读写方式示例程序

文本文件中显示的内容是乱码,很正常的情况,能成功读写出来即可。

文件指针操作函数

fseek函数

函数原型:int fseek(FILE *stream, long offset, int pos);

stream:文件指针。

offset:偏移量。

pos:指偏移方式。有如下三种值可选:

SEEK_SET 从距文件开头offset 位移量为新的读写位置.

SEEK_CUR 以目前的读写位置往后增加offset 个位移量.

给出两种比较特别的使用方式

将文件指针移动到开头:fseek(fd, 0, SEEK_SET);

返回值:调用成功返回0,失败返回-1,errno会存放错误代码。

ftell函数

函数原型:long ftell(FILE *stream);

返回值:文件指针相对于文件开头的偏移量。

rewind函数

函数原型:void rewind(FILE *stream);

feof函数

函数原型:int feof(FILE *stream);

返回值:如果已经到达文件的结尾(已经将文件的最后一个字符都读走了),返回0,否则返回非0数字。

EOF

是文本文件结束的标志。在文本文件中,数据已字符的ASCⅡ码值的形式存放,普通字符的ASCⅡ码的范围是32到127(十进制),EOF的16进制代码为0XFF(十进制为-1),因此可以用EOF作为文件的结束标识。当把数据以二进制的形式存放到文件中时,就有可能会将数字-1存放到文件中,此时继续根据EOF来判断文件是否结束就会出问题,为了解决这个问题,ASCI C 就提供了feof 函数。

尾言

作业:把以下表格数据存储到文件(信息数可少量,词条需齐全)

哪里有什么老天的眷顾,所谓的幸运和成功都源自你自身的努力和付出。请记住,你现在多走的每一步都在拉开着你和别人的差距。要做,就做生活的强者。

本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。