![](/img/trans.png)
[英]warning: incompatible pointer types passing 'char *' to parameter of type 'FILE *' (aka 'struct __sFILE *')
[英]incompatible pointer types passing 'char*' to parameter of type 'FILE*'(aka 'struct__sFILE*')
我有一個令人沮喪的問題。 我收到以下錯誤:
不兼容的指針類型,將'char *'傳遞給FILE *'(aka'struct__sFILE *')類型的參數。
有人知道我將如何解決此問題?
void load_myFile(char my_file_name[]) {
if(my_file_name != NULL) {
int op_code, L_code, M_code, i = 0;
while(my_file_name != NULL) {
fscanf(my_file_name, "%d", &op_code);
if(i > MAX_CODE_LENGTH) {
printf("Program is longer than MAX_CODE_LENGTH\n");
exit(ERROR_PROG_TOO_LONG);
}
fscanf(my_file_name, "%d", &L_code);
fscanf(my_file_name, "%d", &M_code);
code[i].op = op_code;
code[i].l = L_code;
code[i].m = M_code;
i++;
}
code_size = i;
}
根據您的聲明,my_file_name是一個字符串,不是指向FILE的指針。 而函數fscanf需要一個指向FILE的指針。 因此,您會遇到這種錯誤。
如果希望它是字符串,請使用sscanf
而不是fscanf
來提取數據。 否則,聲明一個FILE指針,打開一個文件並從中讀取。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.