我希望将FILE*
作为参数传递给函数,以便稍后重新修改它
示例:
void main () {
FILE *file = NULL;
int getFile(file);
printf("file from main is :%x", file);
// here i want to use fread ...etc
}
int getFile(FILE *f) {
FILE *fp = fopen("myfile.dat", "rb");
if (fp == NULL) {
printf("failed to open file\n");
return 1;
}
f = fp;
printf("fp is :%x", fp);
printf("file from getFile is :%x", f);
return 0;
}
此代码输出:
fp is: e40009b0
file from getFile is: e40009b0
file from main is : 0
如您所见,文件的地址未更改(NULL
)。我如何在getFile()
的功能中更改它?
谢谢