标签:mic printf evel 文本 mamicode open 临时 文件流 结构
文件的缓冲区:
每一个被使用的文件都在内存中用一个FILE结构体来存储相应的文件信息(如文件的名字、文件的状态、文件当前位置等)。
typedef struct { short level; //缓冲区“满”的程度 unsigned flags; //文件状态标志 char fd;//文件描述符 unsigned char hold;//如缓冲区无内容不读取字符 short bsize;//缓冲区的大小 unsigned char* buffer;//缓冲区位置 unsigned char* curp;//指针当前的指向 unsigned istemp; //临时文件指示器 short token; //用于有效性检查 }FILE; 注:不同的编译器的FILE类型略有不同。例如,VC6.0中 struct _iobuf { char *_ptr; int _cnt; char *_base; int _flag; int _file; int _charbuf; int _bufsiz; char *_tmpfname; }; typedef struct _iobuf FILE;
一般使用文件类型指针,FILE* fp(注:它指向内存中的文件信息区(即FILE)的开头,而不是指向外部介质上的数据文件的开头)。
FILE* fp;
fp = fopen("test.txt","w");//以只写的方式打开文件
...
fclose(fp);//关闭文件
文件打开方式 | 若指定文件不存在 |
"r"(只读) | 出错 |
"w"(只写) | 建立新文件 |
"a"(追加) | 出错 |
"rb"(二进制文件的只读) | 出错 |
"wb"(二进制文件的只读) | 建立新文件 |
"ab"(二进制文件的追加) | 出错 |
"r+"(读写) | 出错 |
"w+"(读写) | 建立新文件 |
"a+"(读写) | 出错 |
"rb+"(读写) | 出错 |
"wb+"(读写) | 建立新文件 |
"ab+"(读写) | 出错 |
注:加b的表示对二进制文件操作,默认(不加b)对文本文件操作。
常用下面的方法打开一个文件
if((fp=fopen("filename","r"))==NULL) { printf("打开文件失败!"); exit(0); }
标签:mic printf evel 文本 mamicode open 临时 文件流 结构
原文地址:https://www.cnblogs.com/htj10/p/10728143.html