文件操作参数“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+”打开文件后,文件内部的读写指针会被移动到文件开头,如果直接写入数据会覆盖原文件内容。

加载中…