gpt4 book ai didi

C - 断言失败错误

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

我正在编写一个生成 pgm 文件直方图的 cote。它按预期工作,但将结果保存到 .csv 文件会导致断言失败。在屏幕上打印结果效果很好,所以我的错误一定是在 fprintf 函数的某个地方。 “histogram.csv”正确生成,没有任何错误,但它是空的。如何修复保存?

int counter;
hist_file = fopen("histogram.csv", "w");
if (hist_file = NULL){
printf("Error opening histogram");
exit(1);
}
for (i = 0; i <= bright; i++){
histogram[i] = 0;
}
for (i = 0; i < height; i++){
for (j = 0; j < width; j++) {
for (counter= 0; counter<= bright; counter++){
if (piksel[i][j] == counter){
histogram[counter]++;
}
}


}

}

for (i = 0; i <= bright; i++){
printf( "%d: %d\n",i, histogram[i]);
fprintf(hist_file, "%d, %d\n", i, histogram[i]);

}

最佳答案

检查 hist_file 是否为 NULL 实际上是一项赋值。您将 NULL 分配给您的文件指针,因为 0 为假,您永远不会看到 "Error opening histogram"。之后,您将尝试打印到一个空指针,这样您的文件中就什么也得不到了。

您也应该养成关闭文件的习惯。如果您尝试关闭一个空文件,您应该得到一个 EOF 返回值,它会提示问题出在哪里。

关于C - 断言失败错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34935096/

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