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ます。

いいえ、FILEC または C++ のキーワードではありません。その宣言は にあり<stdio.h>ます。

于 2012-10-29T17:52:42.070 に答える
1

ファイルの最初のステートメントとして次の行を追加してください

#include <stdio.h>

データ型 FILE と fprint() などの関数はこのヘッダー ファイルで定義されているため、プログラムを実行するために必要になります (コンパイラーに FILE、fprintf() などの定義を伝えます)。

于 2012-10-29T17:55:23.553 に答える