12.1 C文件概述
一. 文件
存储在外部介质上数据的集合。
二. 存取单位
字节
三. C文件分类
(1) ASCII文件(文本文件)
(2) 二进制文件
12.2 文件类型指针
文件的信息保存在一个结构体类型变量中,该结构体类型是由系统在stdio.h中定义的,取名为FILE。
typedef struct
{int _fd; /*文件号*/
int _cleft; /*缓冲区中剩下的字符*/
int _mode; /*文件操作模式*/
char *_nextC; /*下一个字符位置*/
char *_buff; /*文件缓冲区位置*/
}FILE;
FILE *fp;
12.3 文件的打开与关闭
一.文件的打开(fopen函数)
二. 文件的关闭(fclose函数)
12.4 文本文件的读写
一.fputc(putc)和fgetc(getc)函数
例1.从键盘输入一些字符,逐个把它们送到文件中,直到输入一个字符#为止。
#include "stdio.h"
main( ){ FILE *fp;
char ch,filename[15];
gets(filename);
if ((fp=fopen(filename,"w"))==NULL)
{ printf("cannot open file\n");
exit(0);
}
while ((ch=getchar( ))!='#')
fputc(ch,fp);
fclose(fp);
}
例2.将一个文件中的信息复制到另一个文件中。
二. fprintf和fscanf函数
fprintf(文件指针,格式字符串,输出表列)
fscanf (文件指针,格式字符串,输入表列)
fprintf(fp,"%d,%6.2f",i,t);
fscanf(fp,"%d,%f",&i,&t);
三.fputs和fgets函数
fputs("China", fp);
fgets(str, n, fp);
12.5 二进制文件
一.fread和fwrite函数
fread(f,4,3,fp);
fwrite(a,2,10,fp1);