gcc编译错误:未知类型名称'文件'

时间:2015-04-14 18:02:31

标签: c gcc

我正在学习如何使用C语言I / O.

这是我的文件test.c

中的代码
#include <stdio.h>
#include <stdlib.h>

int main()
{
    File *fp;
    char *mode = "r";
    fp = fopen("testFile", mode);
    if(fp == NULL) {
        fprintf(stderr, "Can't open input file testFile\n");
        exit(1);
    }
}

当我使用以下代码编译代码时:gcc -o test test.c

我收到错误:

atria:~/471/a4> gcc -o test test.c
test.c: In function ‘main’:
test.c:6:5: error: unknown type name ‘File’
     File *fp;
     ^
test.c:10:8: warning: assignment from incompatible pointer type [enabled by default]
     fp = fopen("testFile", mode);
        ^

我想也许我使用了错误的头文件,但我已经包含了stdio.h

有没有人对我为什么会收到此错误有任何想法?提前谢谢

2 个答案:

答案 0 :(得分:11)

应该是FILE,而不是File

答案 1 :(得分:2)

更正后的代码:

#include <stdio.h>
#include <stdlib.h>

int main() {
    FILE * fp = fopen("testFile", "r"); // Correct statement to open a file
    if(fp == NULL) {
        fprintf(stderr, "Can't open input file testFile\n");
        exit(1);
    }
}