文件处理:
所谓打开文件,实际上是建立文件的各种有关信息,并使文件指针指向该文件,以便进行其他各种操作;关闭文件则是断开指针与文件之间的联系,也就是禁止再对该文件进行操作。
文件的打开:
FILE * fopen(char *filename, char *type);
说明:
(1)正常情况下,fopen函数返回指向文件流的指针。若发生错误,则返回值为空指针NULL。 (2)无论采用什么方式打开文件,当文件被正确打开时,文件指针总是指向文件字节流的开始出。
文件的关闭:
int fclose(FILE *stream);
说明:尽管程序执行结束时也会自动关闭所有打开的文件,但应该养成主动关闭文件的习惯。
出错检查: (1)出错报告函数
void error(char errorstring);
(2)文件结束检测错误函数
int feof(FILE *stream);
(3)文件出错检测函数
int ferror(FILE * stream);
(4)清除文件出错标志函数
void clearerr(FILE *stream);
文件的顺序读写: (1)字符读写函数fgetc和fputc
字符读函数:int fgetc(FILE *stream); 字符写函数:int fputc(char ch, FILE *stream);
(2)字符串读写函数fgets和fputs
字符串读函数: char *fgets(char *string, int n, FILE *fp); 读n-1个字符 字符串写函数:int fputs(char *string, FILE *fp);
(3)格式化读写函数fscanf和fprintf
fscanf函数:int fscanf(FILE *fp, char *format, &arg1,...,&argn) fprintf函数:int fprintf(FILE *fp, char *format, arg1,...argn);
文件定位: (1)rewind函数:
void rewind(FILE *fp);
(2)fseek函数
int seek(FILE *fp, long offset, int base);
(3)ftell函数
long ftell(FILE *fp);
随机文件的读写:
由于一般是读写一个数据块,因此,常用数据块读写函数fread和fwrite
(1)fread函数
int fread(void *buf, int size, int count, FILE *fp);
(2)fwrite函数
int fwrite(void *buf, int size, int count, FILE *fp);