上海环球港楼层导航图:请问FILE *fp; char *filename="paper"; fp=fopen(filename, "rb++"); 打开的是什么?

来源:百度文库 编辑:神马品牌网 时间:2024/04/20 03:52:28

FILE *fopen(const char *filename, const char *mode);
fopen函数说明:将文件 filename以mode方式打开,并返回指向这个文件的一个流.
其中打开方式可以为以下的值:
r 只读方式打开
w 创建一个文件用于写入,如果文件已经存在,这个文件会被覆写
a 打开一个文件并添加,如果文件存在,打开的时候是指向文件的最后,如果不存在则创建
r+ 打开一个已经存在的文件来更新(读写),不存在则创建
w+ 创建一个文件来更新(读写),如果文件已经存在,则会被覆写
a+ 打开一个文件来更新,如果文件存在,打开的时候是指向文件的最后,如果不存在则创建

另外还可以指定是以二进制方式(b)打开还是以文本方式(t)打开

所以fp=fopen(filename, "rb++"); 应该是以二进制方式打开filename来更新

另外,与fopen一起用的还有:
指定当前位置:
int fseek(FILE *stream, long offset, int whence);
void rewind(FILE *stream);//指到开始位置
读:size_t fread(void *ptr, size_t size, size_t n, FILE *stream);
写:size_t fwrite(const void *ptr, size_t size, size_t n, FILE *stream);
格式化:int fprintf(FILE *stream, const char *format[, argument, ...]);
........

名字为PAPER的文件.