有关文件的读写方式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
细说c语言中文件的“r”“w”“a”
1:r 以可读写方式打开文件,该文件必须存在
2:w以写方式打开文件,只能够向文件中写东西,而且如果文件不存在,系统会自动建一个同名的文件,如果文件已经存在,那么文件中的东西会全部被覆盖
举个例子:
#include
void main()
{
FILE *in;
char ch[20]="microsoft";
if((in=fopen("file.out","w"))==NULL)
{
printf("file cannot be open");
exit(0);
}
fputs(ch,in);
fclose(in);
}
上面这个程序中,如果我们建的工程下面没有file.out,那么会自动建一个file.out的文件,并在里面写上microsoft内容,
如果已经有了file.out,那么file.out里面的内容会全部消失,代替的只有microsoft,比如里面内容是my name is yuanqiao,那么程序执行后,里面就只有microsoft
3:a 以写方式打开文件,它和w的区别就是它不会破坏原内容,只是在原内容后面添加输入的内容;
若文件存在呢?就打开,在文件尾部添加;
若文件不存在呢?则创建一个新的文件。
同样是上面的例子,里面内容是my name is yuanqiao,程序执行后,里面的内容变成my name is yuanqiaomicrosoft,而且每执行一次,里面的内容会增加一次,比如,我们运行了一次程序后,再执行一次,那么里面的内容会变成my name is yuanqiaomicrosoftmicrosoft 4:r+以读写方式打开文件,文件可以使用文件的读取方式fgetc fgets fscanf fread读出来,并用putchar puts printf等方式输入到屏幕上,要求文件已存在
它和a的写的方式是一样的,这里不再累述。
5:w+以读写方式打开文件,写的方式和w一样,就是多了一个读取文件的功能。
大家可以用下面这个程序做实验:
不断的改变打开的方式,和程序的运行次数,来看程序的执行效果:
#include
#include
void main()
{
FILE *in;
if((in=fopen("file.out","a+"))==NULL)
{
printf("file cannot be open");
exit(0);
}
while(!feof(in))
putchar(fgetc(in)); //用putchar将fgetc读取出来的字符一个一个现实到屏幕上。char ch[20]="microsoft";
fputs(ch,in); //用fputs将字符串写到文件中。
fclose(in);
}
close(fp);
}