先看湖南自学考试“计算机及应用”专业《高级语言程序设计》教材中的一段程序,
这是从键盘输入10个字符,写到文本文件的程序,这里仅把打开文件的盘符和目录做了修改,
其中myturboc是D盘中已经建立的目录,char2.txt是并不存在的文件。
#include<stdio.h>
main()
{
FILE *fp;
int i;
char c;
if((fp=fopen(“d:\\myturboc\\char2.txt”,”w”))==NULL)
{
printf(“file can not open!\n”);
exit(0);
}
for(i=0;i<10;i++)
{
c=getchar();
fputc(c,fp);
}
fclose(fp);
}
问题:我认为printf(“file can not open!\n”)以及exit(0)都是多余的语句,
因为只要文件打开方式是”w”无论要打开的文件是否存在都不会执行这两条语句。
大家的意见如何,请大家各抒己见。
>> 本文固定链接: http://www.vcgood.com/archives/1259
如果你试着建立一个char2.txt,并把它的属性设置成只读,,你看看这段你所谓的多余的语句,它会不会执行,在编程中,任何的一种异常都是必须考虑到的..
W是只写,如果文件不存在.它就建立,如果文件存在,并且文件属性不是只读的状态,那么它就不会发生无法打开文件的错误了..