c语言中文件的读写函数
在软件工程的 个人作业中用到了对文件的读写操作,因为好久没看c语言了,先总结一下,方便以后复习,嘻嘻~~~
c语言程序在打开一个文件时,系统会自动地在内存中开辟一个区,用来存放文件的有关信息(如文件名、文件状态等) 这些信息保存在一个结构体变量中,该结构体是由系统定义的,取名为FILE。 FILE定义在头文件stdio.h中。对每一个要进行操作的文件,都需要定义一个指向FILE类型结构体的指针变量,该指针称为文件类型指针,文件类型指针的定义方法如下:
FILE *指针变量; 如:FILE *fp; fp是一个指向FILE类型的数据的指针变量。
用fopen函数打开数据文件,其调用方式为 fopen(文件名,使用方式),若打开成功,则该函数的返回值返回指向文件的指针(文件信息区的起始地址),若失败则返回一个空指针null。
下面是是使用方式的总结:
常用下面的方法打开一个文件:
if((fp=fopen("file1","r"))==null)
{
printf("cannot open this file\n");
exit(0);
}
关闭文件的函数:
fclose(文件指针);
for example:
fclose(fp)关闭文件后,fp指针不再指向该文件,其也带回一个值,当成功的执行了关闭文件操作,则返回值为0;否则返回EOF(-1).
顺序读写数据文件:
函数名 调用格式 功能 返回值
fgetc fgetc(fp) 从fp指向的文件读入一个字符 读成功,带回所读的字符,失败则发挥文件结束标志EOF(-1)
fputc fputc(ch,fp) 把字符ch写到文件指针变量fp所指向的文件中 输出成功,返回值就是输出的字符;输出失败,则返回E0F(-1).
格式化的方式读写文件
fprintf(文件指针,格式字符串,输出表列)。该函数类似printf 函数,都是格式化输出函数,只不过两者的作用对象一个是文件,一个是终端。
fscanf(文件指针,格式字符串,输出列表)。类似 scanf函数,都是格式化输入函数。 但scanf 函数的作用对象是终端键盘,而 fscanf函数的作用对象是文件。
但由于在输入时要将ASCII码转换为二进制形式,在输出时又要将二进制形式转换成字符,所以花费时间较多。
c++文件读写操作后续。。。。。。