当我尝试编译我的C程序时,出现以下错误:
file.c:16:1: error: conflicting types for 'file'
关于此代码:
char *filename = "dictionary.txt";
FILE *file;
file = fopen(filename, "a+");
我用过这篇文章作为参考: C File I/O and Binary File I/O
非常感谢任何帮助,并提前感谢。
编辑: 这是完整的代码 http://pastebin.com/3iMmGzfk
答案 0 :(得分:1)
使用此代码,我得到相同的error: conflicting types for ‘file’
。请注意文件在同一范围内的定义两次。
#include <stdio.h>
int main(void) {
int file = 0;
char *filename = "dictionary.txt";
FILE *file;
file = fopen(filename, "a+");
return 0;
}
确保在同一范围内没有另一个名为file的变量可以解决问题。
例如,我没有使用此版本的编译器错误:
#include <stdio.h>
int main(void) {
int file = 0;
{
char *filename = "dictionary.txt";
FILE *file;
file = fopen(filename, "a+");
}
return 0;
}
答案 1 :(得分:1)
您链接到的文章实际上使用fp
作为FILE *
变量名称,但如果您自己的代码没有在别处定义file
,那么您可以直接在某个地方使用头文件或间接使用是定义名为file
的东西。在不了解您的平台的情况下,很难说哪个头文件会定义file
。