谭浩强的c语言

来源:百度知道 编辑:UC知道 时间:2024/05/13 19:43:34
#include <stdio.h>
main ()
{FILE *fp;
char ch,filename[10];
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)
{printf("cannot open file\n");
exit(0);}
ch=getchar();
ch=getchar();
while(ch!='#')
{
fputc(ch,fp);putchar(ch);
ch=getchar();
}
fclose(fp);
}这是他原书的一段程序,连接不能通过,unable to open file 'input.c',怎么回事?!

保存一下你的源文件再编译,末尾最好加上一句return 0或者把main改成void类型的
应该就只有这点问题,我编译连接都能过,另外试试编译其他简单程序判断编译器是否有问题

他的程序是没有问题的,这个的主要问题是出现在你编译器的路径上.

你的TURBOC2安装路径错了.例如,你在C盘安装,解压时出的错.你应该解压为C:\turboc2,而不应该是C:\turboc2\turboc2.解决方法为把后面的turboc2文件夹剪切到C盘,既最后你的TC.EXE的路径为
C:\TURBOC2\TC.EXE.如果你有TC快捷方式在桌面,右键属性,在属性的程序里,把命令行改为C:\TURBOC2\TC.EXE,而不是C:\TURBOC2\TURBOC2\TC.EXE.工作目录也改为C:\TURBOC2,确定.大功告成.
还有就是你没有安装到C目录下,而是其他目录下了.
为什么不能用呢?主要是用于TURBOC的默认编译路径是在C:/下的,如果不按上面的步骤的话,你也可以手动更改他的默认编译路径就OK了.
更改的前提是:TURBOC能通过你设定的编译路径顺利的找到编译器TC.EXE.

这行代码
if((fp=fopen(filename,"w"))==NULL)

用函数fopen()打开一个文件时如果这个文件原本没有,应用“w+”新建一个,而“w”这是为输出打开一个文本文件,并不执行创建,所以需要“w+”来创建一个新的~~~~!!!