在 C 中使用 fread() 的预期参数声明符错误

expected parameter declarator error using fread() in C

我正在使用 fread() 读取二进制文件。我想读入一个 unsigned short int。对于以下代码,我不断收到此错误 expected parameter declarator

int analyzeFile (FILE* binary_file , mem_location** memory)
{

    unsigned short int row;
    size_t fread (&row, sizeof(unsigned short int), 1, FILE* my_obj_file);
    
    fclose(my_obj_file);
    return 0 ;
}

我相信我误用了 row 的内存地址和 sizeof(unsigned short int)。

FILE* my_obj_file

如果它应该是一个演员,它必须是

(FILE*) my_obj_file

很难知道,因为这个变量没有在函数范围内声明,无论哪种方式它都不是有效参数。

未使用 binary_file 参数,也许这是您打算使用的参数。

在您使用的函数之前放置 return 类型也是不正确的,那是为了声明或定义。

您可能想要的是:

size_t size = fread (&row, sizeof(unsigned short int), 1, binary_file); //or my_obj_file
            ^                                            ^
     assign return value                            no type used