加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

文件操作参数“r+”与“w+”的区别:

(2011-01-24 00:20:24)
标签:

创建文件

存在

屏幕

指针

调用

教育

分类: C语言程序设计

1.当文件不存在时,“r+”不会自动创建而导致调用失败;“w+”会自动创建文件。

验证:

#include <stdio.h>

#include <stdlib.h>

#define location "e:\\ practice.dat"

int main(void)

{

FILE *fp;

fp=fopen(location,"r+");

if(fp==NULL){puts("No files!");exit(1);}

return 0;

}

屏幕会输出:No files!

2.当文件存在时,“r+”不会清空文件内容,“w+”会清空原文件内容。

验证:

#include <stdio.h>

#include <stdlib.h>

#define location "e:\\ practice.dat"

int main(void)

{

FILE *fp;

fp=fopen(location,"w+");

if(fp==NULL){puts("No files!");exit(1);}

fputs("abcdefg",fp);

fclose(fp);

fp=fopen(location,"r+");

char str[10];

fgets(str,9,fp);

puts(str);

fclose(fp);

return 0;

}

屏幕上会显示原来写入的文件内容,说明原文件没有被清空。

3.注意,“r+”打开文件后,文件内部的读写指针会被移动到文件开头,如果直接写入数据会覆盖原文件内容。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有