gpt4 book ai didi

c - 不兼容的指针类型将 'char*' 传递给类型为 'FILE*' 的参数(又名 'struct__sFILE*' )

转载 作者:太空宇宙 更新时间:2023-11-04 02:53:59 25 4
gpt4 key购买 nike

我有一个令人沮丧的问题。我收到以下错误:

incompatible pointer types passing 'char*' to parameter of type 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 是一个char 字符串,而不是指向FILE 的指针。而函数 fscanf 需要一个指向 FILE 的指针。因此你得到了那种错误。

如果你希望它是一个字符串,使用sscanf而不是fscanf来提取数据。否则,声明一个 FILE 指针,打开一个文件并从中读取。

关于c - 不兼容的指针类型将 'char*' 传递给类型为 'FILE*' 的参数(又名 'struct__sFILE*' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19392507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com