文件读写函数介绍
函数名 | 功能 | 适用于 |
fputc | 字符输出函数 | 所有输出流 |
fgetc | 字符输⼊函数 | 所有输⼊流 |
fputs | ⽂本⾏输出函数 | 所有输出流 |
fgets | ⽂本⾏输⼊函数 | 所有输⼊流 |
fprintf | 格式化输出函数 | 所有输出流 |
fscanf | 格式化输⼊函数 | 所有输⼊流 |
fwrite | ⼆进制输出 | ⽂件 |
fread | ⼆进制输⼊ | ⽂件 |
fputc函数和fgetc函数
fputc函数
函数的返回值以及参数格式如下:
该函数为字符写入函数,写入的对象为文件,第一个参数是要写入文件的字符,第二个参数是文件指针。若写入成功,则返回值为写入成功的字符的ASCII码值,若失败,则返回EOF。
fputc函数的具体使用方法如下:
当文件打开后,需要判断文件是否打开成功,当文件使用结束后,必须关闭文件。
文件内容和输出结果为:
fgetc函数
函数的返回值以及参数格式如下:
该函数为字符读取函数,只需要接受一个参数,即文件指针。若读取成功,则返回值为文件中的第一个字符,随后光标往后移动,下次读取时,为文件中的第二个字符,以此类推。当文件发生错误或文件结束时,返回EOF。
fgetc函数的具体使用方法如下:
在while循环中,当文件没有发生错误或者文件结束时,输出字符并继续读取,直到碰到文件发生错误或者文件结束,读取结束。
文件内容和输出结果为:
fputs函数和fgets函数
fputs函数
函数的返回值以及参数格式如下:
该函数为字符串写入函数,写入的对象同样为文件,函数的第一个参数为包含写入数据的字符串的地址,第二个参数为文件指针。若写入成功,则返回非负值,若失败,则返回EOF。
fputs函数的具体使用方法如下:
用一个整型变量接受函数的返回值并输出,查看是否写入成功。
文件内容和输出结果为:
fgets函数
函数的返回值以及参数格式如下:
该函数为文件字符串读取函数,包含3个参数,第1个参数为存放读取数据的字符串的地址,第2个参数为最多读取的字符个数,第3个参数为文件指针。当读取成功时,返回存放数据的字符串的地址,若读取失败,返回空指针。
fgets函数的具体使用方法如下:
创建一个字符指针用来接受函数返回值,判断是否读取成功。
文件内容和输出结果为:
fprintf函数和fscanf函数
fprintf函数
fprintf函数的返回值以及参数格式如下:
printf函数的返回值以及参数格式如下:
fprintf函数与printf函数相比,仅仅是多了一个参数,该参数为文件指针。因此,只要我们能熟练使用printf函数,那使用fprintf函数也不成问题。
fprintf函数的具体使用方法如下:
可以看到,该函数除了多出来一个文件指针的参数,使用方法与printf函数并无太大区别。
文件内容和输出结果为:
fscanf函数
fscanf函数的返回值以及参数格式如下:
scanf函数的返回值以及参数格式如下:
同样,fscanf函数与scanf函数相比,仅仅是多了一个参数,该参数为文件指针。因此,只要我们能熟练使用scanf函数,那使用fscanf函数也不成问题。
fscanf函数的具体使用方法如下:
可以看到,该函数除了多出来一个文件指针的参数,使用方法与scanf函数并无太大区别。
文件内容和输出结果为:
fwrite函数和fread函数
与前面的文件操作函数不同,fwrite函数和fread函数是针对二进制文件的。
fwrite函数
函数的返回值以及参数格式如下:
该函数为二进制文件写入函数,包含4个参数,第1个参数为包含数据的数组的地址,第2个参数为数组中单个字节的大小,第3个参数为数组元素个数,第4个参数为文件指针。返回值为成功写入的元素个数。
fwrite函数的具体使用方法如下:
可以看到,我们创建一个变量用来接收fwrite函数的返回值,查看是否写入成功。
文件内容和输出结果为:
由于文件是二进制文件,因此文件内容是不可见的。
fread函数
函数的返回值以及参数格式如下:
该函数为二进制文件读取函数,包含4个参数,第1个参数为接受数据的数组的地址,第2个参数为数组中单个字节的大小,第3个参数为数组元素个数,第4个参数为文件指针。返回值为成功读取的元素个数。
fread函数的具体使用方法如下:
通过循环的方式,我们可以在不知道文件中数据个数的时候,将文件中的数据一个个读取出来。
文件内容和输出结果为: