Chinaunix首页 | 论坛 | 博客
  • 博客访问: 370754
  • 博文数量: 87
  • 博客积分: 983
  • 博客等级: 准尉
  • 技术积分: 685
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-25 07:20
文章分类

全部博文(87)

文章存档

2016年(1)

2015年(3)

2014年(55)

2013年(13)

2012年(15)

分类: C/C++

2014-03-23 20:50:33

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会自动往后走。
阅读(1282) | 评论(0) | 转发(0) |
0

上一篇:vi配置

下一篇:【转】C语言字节对齐

给主人留下些什么吧!~~