file - C 错误 : expected expression before ‘FILE’

标签 file c

下面是我的程序代码的一部分,这是我在这个论坛帖子的第一个答案中找到的: 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/

相关文章:

c - 在C中修改二进制文件中的一些字节

C++ 容器拆分

c - 在C中以不同精度从文件中读取 float

c - 有没有办法在 GCC/Clang 中将变量设置为未初始化?

c - C 中的共享内存变量,extern 关键字

C 应用程序服务器/客户端在 docker 容器中不起作用

c - 由于无限循环而卡在函数中

python - 在上下文处理程序中重新引发异常

c - 用于提示和获取用户输入的系统调用函数

我可以使用标准库在 C 中寻找超过 2GB 的位置吗?