文件的读写(1)字符读写函数fgetc和fputc以及字符串读写函数fgets和fputs

文件的读写

C语言中为文件读写提供了多种函数:
字符读写函数:fgetc和fputc
字符串读写函数:fgets和fputs
数据块读写函数:fread和fwrite
格式化读写函数:fscanf和fprintf
以上函数头文件都是stdio.h。

  1. 字符读写函数fgetc和fputc

字符读写函数是以字符(字节)为单位的读写函数。每次可从文件读出或向文件写入一个字符。

读字符函数fgetc

fgetc函数的功能是从指定文件中读一个字符,函数调用的形式为:
字符变量 = fgetc(文件指针);
例如:ch = fgetc(fp);
其意义是从打开的文件fp中读取一个字符并送入ch中。对于fgetc函数的使用有以下几点说明:
1)在fgetc函数的调用中,读取的文件必须是以读或读写的方式打开的。
2)读取字符的结果也可以不向字符变量赋值,
例如:fgetc(fp);但是读出的字符不能保存。
3)在文件内部有一个位置指针,用来指向文件的当前读写字节。在文件打开时,该指针总是指向文件的第一个字节。使用fgetc函数后,该位置指针将向后移动一个字节。因此可连续多次使用fgetc函数,读取多个字符。应注意文件指针和文件内部的位置指针不是一回事。文件指针式指向整个文件的,须在程序中定义说明,只要不重新赋值,文件指针的值是不变的。文件内部的位置指针用以指示文件内部的当前读写位置,每读写一次,该指针均向后移动,它不需要在程序中定义说明,而是由系统自动设置的。

写字符函数fputc

fputc函数的功能是把一个字符写入指定的文件中,函数调用形式为:
fputc(字符量,文件指针);
其中,带写入的字符常量可以是字符常量或变量,例如:fputc('a',fp);
其意义是把字符a写入fp所指向的文件中。
对于fputc函数的几点说明:
1)被写入的文件可以用读、写、追加方式打开,用写或读写方式打开一个已存在的文件时将清除原有的文件内容,写入字符从文件首开始。如需保留原有文件内容,希望写入的字符以文件末开始存放,必须以追加方式打开文件。被写入的文件若不存在,则创建该文件。
2)每写入一个字符,文件内部位置指针向后移动一个字节。
3)fputc函数有一个返回值,如写入成功则返回写入的字符,否则返回一个EOF。可用此来判断写入是否成功。

字符串读写函数fgets和fputs

读字符串函数fgets

函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为:
fgets(字符数组名,n,文件指针);
其中的n是一个正整数。表示从文件中读出的字符串不超过n-1个字符,在读入的最后一个字符后加上串结束标志’\0’。
例如:fgets(str,n,fp);
意义是从fp所指的文件中读出n-1个字符送入字符数组str 中。
对fgets函数有几点说明:
1)在读出n-1个字符之前,如遇到了换行符或EOF,则读出结束。
2)fgets函数也有返回值,其返回值是字符数组的首地址。

写字符串函数fputs

fputs函数的功能是向指定的文件写入一个字符串,其调用形式为:
fputs(字符串,文件指针);
其中字符串可以是字符串常量,也可以是字符数组名,或指针变量,例如:fputs("abcd",fp);
其意义是把字符串"abcd"写入fp所指的文件之中。

你可能感兴趣的:(C语言)