发布网友 发布时间:2024-10-23 16:56
共5个回答
热心网友 时间:2024-11-13 10:47
fopen是打开文件;if((fp1=fopen("a","r"))==NULL)这句代码的意思是以只读的方式打开文件名为a的文件,但是实际上没有这个文件,当然只会输入cannot open file in disk c。
你首先要在C语言的目录下创建相关文件。打开文件的时候最好带文件的扩展名。比如
if((fp1=fopen("a.txt","r"))==NULL)
假如是要读取程序里面的字符串,则不需要双引号。
if((fp1=fopen(a,"r"))==NULL)
热心网友 时间:2024-11-13 10:46
if((fp1=fopen("a","r"))==NULL)//你的意思应该是打开前面输入的文件名,可是你加上了双引号就变成了找开 文件 a 了,把双引号去掉就可以了,
if((fp2=fopen("b","w"))==NULL) //这一句也是一样的道理。
fclose(fp2) //还有这一句后面少了一个分号
热心网友 时间:2024-11-13 10:45
r是读取,w是写入,该文件应该是可读不可写
热心网友 时间:2024-11-13 10:42
c中一旦加了双引号,就认为是字符串,
你的
if((fp1=fopen("a","r"))==NULL)和
if((fp2=fopen("b","w"))==NULL)中系统都认为是字符串"a"(字符串中只有一个元素a)和"b"(字符串中只有一个元素b),
不是你输入的保存字符串的数组a和b
要想让a,b指代字符串,要去掉双引号。
此外,你输入的时候最好输入绝对路径,
比如(在你创建的C文件下的可以为相对路径)
c:\\a.txt,c:\\b.txt注意要用两个\,因为C认为是转义字符,\\代表一个\
热心网友 时间:2024-11-13 10:41
你是根据a,b字符来打开文件吗?如果是,你不应该在a和b上加引号
if((fp1=fopen(a,"r"))==NULL)
{printf("cannot open file in disk c\n");
exit(0);
}
if((fp2=fopen(b,"w"))==NULL)
{printf("cannot open file in disk c\n");
exit(0);
}