3

到目前为止,这是我的代码:

#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++?他们为什么给我错误?

4

2 回答 2

10

你有#include <stdio.h>吗?您的声明main()也不正确。它应该返回int,而不是void

不,FILE不是 C 或 C++ 中的关键字。它的声明在<stdio.h>.

于 2012-10-29T17:52:42.070 回答
1

请添加以下行作为文件中的第一条语句

#include <stdio.h>

数据类型 FILE 和 fprint() 等函数在此头文件中定义,因此您需要它来运行程序(告诉编译器 FILE、fprintf() 等的定义)

于 2012-10-29T17:55:23.553 回答