我正在学习如何使用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
有没有人对我为什么会收到此错误有任何想法?提前谢谢
答案 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);
}
}