gpt4 book ai didi

c - 使用 calloc 释放内存并更改标准输出时检测到堆损坏

转载 作者:行者123 更新时间:2023-11-28 07:30:30 26 4
gpt4 key购买 nike

<分区>

我正在尝试将 stdout 更改为一个文件,写一些东西然后将其重新运行回屏幕。我的代码是:

FILE *stream ;
char * file_name = "LRA_SOLVER";
char * file_ext = ".txt";
char file_number [3] = {0};
itoa (lra_solver_couter++,file_number,10);
char* file_full_name = (char*)calloc(strlen(file_number)+10+4,sizeof(char));
strcpy(file_full_name, file_name);
strcat(file_full_name, file_number);
strcat(file_full_name, file_ext);
if((stream = freopen(file_full_name, "w", stdout)) == NULL)
exit(-1);
print(); // a lot of printing into the file.
stream = freopen("CON", "w", stdout); // change it back
free(file_full_name);

但我收到检测到堆损坏的错误...lra_solver_couter 不大(通常为 0-20)。我做错了什么?

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