FILE *fopen(const char *path, const char *mode);
path:相对路径,绝对路径均可,相对路径是相对于当前路径说的。
mode:
"r" 只读,文件必须已存在
"w" 只写,如果文件不存在则创建,如果文件已存在则把文件长度截断(Truncate)为0字节再重新写,也就是替换掉原来的文件内容
"a" 只能在文件末尾追加数据,如果文件不存在则创建
"r+" 允许读和写,文件必须已存在
"w+" 允许读和写,如果文件不存在则创建,如果文件已存在则把文件长度截断为0字节再重新写 "a+" 允许读和追加数据,如果文件不存在则创建
重点是打开时文件指针fp的位置,fopen就相当于是对fp指针初始化为文件开始,相当于先 fseek(*fp, 0, SEEK_SET)(参数mode为"a" "a+"时除外:当打开后开始是读写文件时,文件指针在文件的开头,当打开后一开始是追加文件时,文件指针在文件最后。这点man fopen 写的非常清楚)。
理解了以上几个参数后别的就很好理解了,fwrite() 、fread()、fputc()、fgetc()等等,只要打开后发生读写操作,文件指针fp会自动往后走。
阅读(1319) | 评论(0) | 转发(0) |