到目前为止,这是我的代码:
#include <stdio.h>
int main(void)
{
char filename[50]; /* for holding file's name */
FILE *fp; /* fp is the "file pointer" */
printf("Please enter the name of an input file: ");
scanf("%s", filename);
if (!(fp = fopen(filename, "w"))) /*w=write*/
fprintf(stderr, "unable to open file\a\n");
else {/* process file */
fprintf(fp, "Testing...\n");
}
return 0;
}
该行
FILE *fp;
//is giving me an error Undefined Symbol "FILE"
该行
fprintf(stderr, "unable to open file\a\n");
//is giving me an error Undefined Symbol "stderr"
我认为这些关键字是标准的C / C ++?他们为什么给我错误?
答案 0 :(得分:9)
你有#include <stdio.h>
吗?您的main()
声明也是错误的。它应该返回int
,而不是void
。
不,FILE
不是C或C ++中的关键字。其声明在<stdio.h>
。
答案 1 :(得分:1)
请在文件
中添加以下行作为第一句话 #include <stdio.h>
数据类型FILE和函数(如fprint())在此头文件中定义,因此您需要运行程序(告诉编译器FILE,fprintf()等的定义)