gpt4 book ai didi

提示 FILE * 未初始化

转载 作者:太空宇宙 更新时间:2023-11-04 00:32:21 28 4
gpt4 key购买 nike

void openUpNow(FILE *x, FILE *y)
{
x = fopen("xwhatever", "r");
y = fopen("ywhatever", "r");
}

int _tmain(int argc, _TCHAR* argv[ ])
{
FILE *x, *y;

openUpNow(x, y);
}

警告 C4700:使用了未初始化的局部变量“x”

警告 C4700:使用了未初始化的局部变量“y”

补救措施?

最佳答案

无论如何,我认为那不是你想要做的。

假设您希望 openUpNow() 将文件打开到 xy 中,您应该使用:

void openUpNow(FILE **x, FILE **y)
{
*x = fopen("xwhatever", "r");
*y = fopen("ywhatever", "r");
}

int _tmain(int argc, _TCHAR* argv[ ])
{
FILE *x, *y;

openUpNow(&x, &y);

// do stuff


}

换句话说,您需要将指针xy 的地址传递给函数。

正如您现在的代码一样,调用 openUpNow() 不会执行任何操作(并泄漏文件句柄),因为指针是按值传递的。

关于提示 FILE * 未初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8875274/

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