gpt4 book ai didi

c - 从函数返回 FILE 指针并在 main 上处理它

转载 作者:太空狗 更新时间:2023-10-29 15:34:57 24 4
gpt4 key购买 nike

我试图从某个函数返回一个 FILE 指针到 main()。之后,我尝试对指针执行一些 fprintf 但它没有用。这是我的代码:

我的功能:

FILE *create_file(void){

FILE *regularTxt = NULL;
regularTxt = fopen("MyLogExamplekkggggggk.txt", "wt");
if (!regularTxt){
printf("error with regtxt");
getchar();
return 1;
}
char first_part_string[] = "kkkkik";
fprintf(regularTxt, "%s\n\n\n%s", "ttttg", "lklf");
return regularTxt;
}

main 函数:

int main(void)
{
p_txt = create_file();
fprintf(p_txt, "%s\n\n\n%s", "gggg", "lklf");
return 0;
}

错误:

Error 92 error C4703: potentially uninitialized local pointer variable 'p_txt' used

最佳答案

没有所有代码我无法解释警告,但是当您在错误情况下从函数“返回 1”时,您没有正确初始化指针。

更改为:

#include <stdio.h>
#include <stdlib.h>

FILE *create_file()
{
FILE *regularTxt = NULL;
regularTxt = fopen("MyLogExamplekkggggggk.txt", "wt");
if (regularTxt) {
char first_part_string[] = "kkkkik";
fprintf(regularTxt, "%s\n\n\n%s", "ttttg", "lklf");
return regularTxt;
}
return NULL; // error
}

int main(void)
{
FILE* p_txt = create_file();
if (p_txt == NULL)
{
printf("error with file");
getchar();
exit(1); // quit
}
fprintf(p_txt, "%s\n\n\n%s", "gggg", "lklf");
return 0;
}

关于c - 从函数返回 FILE 指针并在 main 上处理它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37468779/

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