c语言创建文件(file)的问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 04:54:01
#include "stdio.h"
main()
{
char c;
FILE *fp;
if((fp=fopen("file.txt","w"))==NULL);
{
puts("cannot open the file !");
exit(0);
}
c=getchar();
while (c!='#')
{
fputc(c,fp);
putchar(c);
c=getchar();
}

}
调试过程(turbo c)后fopen的返回值为NULL, 为什么呀?
在visual c++ 6.0下调试还会提示exit函数未定义('exit' undefined).请指教.

关于Exit函数未定义只要在加入#include<stdlib.h>即可,因为在VC下那个头文件没有声明,毕竟编译环境不同吗。
至于上一个问题呢除了在if后面多加个分号外,应该是没问题的,不知道理那边为什么会这样,我在这边已经试过了,不然你用VC试一下。

楼主,因为你if后面加了分号,所以
{
puts("cannot open the file !");
exit(0);
}
是肯定会执行的,可能你误以为是返回为NULL了,把分号去掉应该就可以了:)