在 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
我正在使用 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