background image

Fread 和 fwrite 函数可以用于任何文件的存取,其余函数只能用于文本文件。
使用以上函数要求包含头文件 stdio.h
1、

 

字符读写函数 fgetc 和 fputc

Fgetc 函数的功能是从指定的文件中读一个字符,函数原型为:
Int fgetc(FILE *stream);
从 stream 文件中读取一个字符,并将读取的字符转换为 int 值返回,遇到文件
结束或出错时返回 EOF。参数 stream 是已经打开的输入文件的 FILE 指针。
Ch=fgetc(fp);
注意:
读取的文件必须是以读或者读写方式打开的文件。在文件内部有一个位置指针,
用来指向文件的当前读写位置,在文件打开时,该指针总是指向文件的第一
个字节。使用 fgetc 函数后,该位置指针向后移动一个字节。因此可以连续多次
使用 fgetc 函数,读取多个字符。
写字符函数 fputc 的功能是把一个字符写入指定的文件中
Int fputc(int c,FILE *stream);
其中,参数 c 是要输出的数据,可以是字符或者字符的 ASCII 码,返回值是被
写的字符,出错时返回 EOF。
Fputc

( a’,fp);

2、 字符串读写函数 fgets 和 fputs
读字符串函数 fgets
Char *fgets(char *s,int n, FILE *stream);
其功能是从指定的文件 stream 中读一个字符串到字符数组 s 中。其中的 n 是一
个正整数,表示从文件中读出的字符串不超过 n-1 个字符。在读入的最后一个

字符后将自动加上字符串结束标志 \0‘。
Fgets(str,n,fp)
从 fp 所指的文件中读出 n-1 个字符送入字符数组 str 中。
需要注意一下几点:
(1) 在读出 n-1 个字符之前如果遇到了换行符或 EOF,则结束读取。

(2)

Fgets 函数也有返回值,其返回值是字符数组的首地址,一般不需要使
用该返回值。

写字符串函数 fputs 的函数原型:
Int fputs(const char *s,FILE *stream);
其功能是向指定的文件写入一个字符串,其中字符串可以是字符串常量,也
可以是字符数组名或指针变量。
Fputs(“swimming”,fp);

其意义是把字符串 swimming”写入 fp 所指的文件中。
3、 数据块读写函数 fread 和 fwrite
实际应用中常常需要把一组数据写到文件中或者从文件中读到内存中,C 语
言提供了用于整块数据读写的函数 fread 和 fwrite。如果每次读或写一组数据,
则每个数据项的长度应相同。
Fread(void*ptr,size,n,FILE *stream);
Fwrite(const void *ptr,size,n,FILE *stream);
Fread 从 stream 中读取 n 个大小为 size 的数据项到 ptr 所指向的内存单元,返回