C语言学习笔记20

文件:

文件概述:

“文件”是指一组相关数据的有序集合,这个数据集合有一个名称,叫做文件名。

文件的基本的操作:

文件的基本操作包括文件的打开和关闭,除了标准的输入、输出文件外,其他所有文件都必须先打开再使用,而使用后也必须关闭该文件。

文件指针:

文件指针是一个指向文件有关信息的指针,这些信息包括文件名、状态和当前位置,他们保存在一个结构体变量中。在使用文件时需要在内存中为其分配空间,

用来存放文件的基本信息。

文件的打开:

fopen()函数用来打开一个文件,打开文件的操作就是创建一个流。fopen()函数的原型在stdio.h中。

形式为:

FILE *fp;

fp=fopen(文件名,使用文件方式);

其中"文件名"是将要被打开的文件名,"使用文件方式"是指对打开的文件要进行读还是写的操作。

使用文件方式:

r(只读):打开一个文本文件,只允许读数据。

w(只写):打开或建立一个文本文件,只允许写数据。

a(追加):打开一个文本文件,并在文件末尾写数据。

rb(只读):打开一个二进制文件,只允许读数据。

wb(只写):打开或建立一个二进制文件,只允许写数据。

ab(追加):打开一个二进制文件,并在文件末尾写数据。

r+(读写):打开一个文本文件,允许读和写。

a+(读写):打开一个文本文件,允许读,或在文件末追加数据。

rb+(读写):打开一个二进制文件,允许读和写。

wb+(读写):打开或建立一个二进制文件,允许读和写。

ab+(读写):打开一个二进制文件,或在文件末追加数据。

文件关闭:文件在使用完毕后,应使用fclose()函数和fopen()函数一样,原型也在stdio.h中。

形式为:

fclose(文件指针);

文件的读写:

fputc()函数:

形式为:

ch=fputc(ch1,fp);

作用:把一个字符写到磁盘文件中去,ch1是要写入的字符,可以是一个字符常量,也可以是一个字符变量。

fgetc()函数:

形式为:

ch=fgetc(fp);

作用:从指定的文件读入一个字符赋给ch。

fputs()函数:

形式为:

fputs(字符串,文件指针)

作用:每次向指定的文件写入一个字符串,其中字符串可以是字符串常量,也可以是字符数组名、指针或变量。

习题:向指定的文件中写入"gone with the wind"。代码如下:

fgets()函数:

形式为:

fgets(字符数组名,n,文件指针);

作用:从指定的文件中读取一个字符串到字符数组中。

fprintf()函数:

形式为:

ch=fprintf(文件类型指针,格式字符串,输出列表);

作用:将整型变量i的值以"%d"的格式输出到fp指向的文件中。

习题:将数字88以字符的形式写到磁盘文件中。代码如下:

fscanf()函数:

形式为:
fscanf(文件类型指针,格式字符串,输入列表);

fread()和fwrite()函数:

fread()函数:

形式为:

fread(buffer,size,count,fp);

fwrite(buffer,size,count,fp);

文件的定位:

fseek()函数:

形式为:

fseek(文件类型指针,位移量,起始点);

作用:移动文件内部位置指针。

注意:fseek()函数一般用于二进制文件。

rewind()函数:

形式为:

void rewind(文件类型指针)

作用:

使位置指针重新返回文件的开头,该函数并没有返回值。

ftell()函数:

形式为:

long ftell(文件类型指针)

作用:

得到文件中当前位置,用相对文件开头的位移量表示。

猜你喜欢

转载自www.cnblogs.com/www-bokeyuan-com/p/11249202.html