下面是我的程序代码的一部分,这是我在这个论坛帖子的第一个答案中找到的: http://www.gamedev.net/topic/266856-how-to-check-if-a-file-exists-in-c/
此外,这里有一些我已阅读但仍未弄明白的 Material 的链接:
http://www.dreamincode.net/forums/topic/333715-error-expected-expression-before-file/ http://www.avrfreaks.net/forum/error-expected-expression-struct
char filename[100];
char mode[2];
bool exists(const char * filename)
{
FILE * fp;
if (FILE * fp = fopen(filename, mode))
{
fclose(fp);
return true;
}
return false;
}
我想在我的整个程序中做的只是创建一个文件,然后检查它是否存在并打印到屏幕上是否文件创建成功。它应该很简单,但我得到了这个错误:
foo.c:35:6: error: expected expression before ‘FILE’
抱歉,如果我看起来有点乱,请帮我解决这个问题。如果你想让我包含更多数据,尽管问。提前致谢!
最佳答案
这就是问题所在
if (FILE * fp = fopen(filename, mode))
应该是
if ((fp = fopen(filename, mode)) != NULL)
你在这行之前声明了 fp
。
该语法在 c 中无效,但在 c++ 中有效。请注意,您声明了 fp
两次,因此 c++ 编译器无论如何都会报错。
关于file - C 错误 : expected expression before ‘FILE’ ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27751103/