文件的操作,基本的操作也就是fopen与fclose;fread与fwrite。这四个我感觉用的是比较多的,下面也给自己的学习来个小总结。
文件的打开与关闭
文件的打开:fopen函数用来打开一个文件,调用的一般形式为:
文件指针名 = fopen(文件名,使用文件方式);其中:“文件指针名”必须是被说明为FILE类型的指针变量;
“文件名”是被打开的文件名;
“使用文件方式”是文件的类型和操作要求;
“文件名”是字符串常量或字符串数组。
例如:
FILE* fp;
fp=fopen("filename","r");
文件使用方式由r,w,a,t,b,+ 六个符号组成,各字符的含义是:
r(read) 读
w(write) 写
a(append)追加
t(text) 文本文件
b(banary)二进制文件
+ 读和写
** 有些注意项还是要说一下的。**
1.用"r"打开文件时,该文件必须已经存在,且只能从文件中读取;
2.用"w"打开文件时,只能向文件中写入,若打开的文件不存在,则以指定的文件名建立该文件,若打开的文件已经存在则将该文件删除,重新建立新文件。
3.若向一个已经存在的文件追加新的信息,只能用"a"方式打开文件。此时的文件必须是存在的,否则会出错。
4.打开一个文件时,如果出错,fopen将返回一个空指针NULL;文件的关闭:fclose函数用来关闭文件;
文件一旦使用完毕,应及时关闭,以避免文件的数据丢失等错误。
fclose函数调用的一般形式:
fclose(文件指针);
例如:fclose(fp);
文件的读写操作
- 对文件的读写是最常见的文件操作。C语言中提供了,多种文件读写的函数:
字符读写函数:fgetc和fputc
格式化读写函数:fscanf和fprintf
字符串读写函数:fgets和fputs
数据块读写函数:fread和fwrite
(1)fgetc和fputc
- fgetc的功能是从指定的文件中读一个字符,调用的一般形式为:
字符变量 = fgetc(文件指针);
例如:char ch;
ch = fgetc(fp);
写字符函数fputc - fputc函数的功能是把一个字符写入到指定文件中,函数调用一般形式为:
fputc(字符量,文件指针);
其中,待写入的字符量可以是字符常量或变量。
例如:fputc('a',fp);//把字符a写入fp指向的文件中。
(2)字符串读写函数,fgets和fputs
读写字符串函数fgets
函数的功能是从指定文件中读一个字符串到,字符数组中,函数调用的形式为:
fgets(字符数组名,n,文件指针);
其中n是一个正整数,表示从文件中读出的字符串不超过n-1个字符。在读入的最后一个字符后加结束标志'\0';
例如:fgets(str,n,fp);写字符串函数fputs
fputs函数的功能是向指定文件写入一个字符串,调用形式为:
fputs(字符串,文件指针);
其中字符串可以是字符串常量,也可以是字符数组名,或指针变量,例如:
fputs("abcd",fp)//意义是把字符串"abcd"写入fp所指的文件中
(3)数据块读写函数:fread和fwrite
- 读数据块函数的调用一般形式为:
fread(buffer,size,count,fp);
写数据块函数的调用一般形式为:
fwrite(buffer,size,count,fp);
其中:buffer是一个指针,在fread函数中用来存放数据的首地址,在fwrite函数中它表示
存放输出数据的首地址;
size 表示数据块的字节数;
count 表示读写的数据块块数;
fp 表示文件指针。
例如:
fread(fa,4,5,fp);
意义是从fp指向的文件中,每次读4字节(一个实数)送入实数组fa中,连续读5次,
即读5个实数到fa中。
其中注意了这些命令在#include <string.h>的预处理中,不要忘记在前面加上噢!