簡體   English   中英

在 C 中使用 fread() 的預期參數聲明錯誤

[英]expected parameter declarator error using fread() in C

我正在使用 fread() 來讀取二進制文件。 我想讀入一個無符號的短整數。 我不斷收到以下代碼的此錯誤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的 memory 地址和 sizeof(unsigned short int)。

FILE* my_obj_file

如果它應該是一個演員,它必須是

(FILE*) my_obj_file

很難知道,因為這個變量沒有在 function 的 scope 中聲明,無論哪種方式它都不是有效參數。

未使用binary_file參數,也許這是您打算使用的。

在您使用它時將返回類型放在 function 之前也是不正確的,即用於聲明或定義。

你可能想要的是:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM