由于某些原因,我的代码不会在我的文件中输出任何内容。 以下是相关代码。如果您需要我提供更多,请说明。
//Opening file
fopen("output.txt", "w");
if (output_Ptr == NULL)
{
printf("\n Output file could not be opened.\n");
exit(-1);
}
else
{
fprintf(output_Ptr, "Solution vector\n");
for (i = 0; i < n; i++)
{
fprintf(output_Ptr, "x[%d]=%10.5f\n", i, x[i]);
}
fprintf(output_Ptr, "\n");
}
fclose(output_Ptr);
//free memory
for (i = 0; i < n; i++) {
free(a[i]);
}
free(a);
free(b);
free(x);
return 0;
}
答案 0 :(得分:2)
编译器不是魔术,它无法猜测你想做什么。以这种方式更新问题代码的第一行:
output_Ptr = fopen("output.txt", "w");
如果你不存储来自fopen的结果,你就不会获得文件的句柄,并且没有办法使用output_Ptr会给出一些东西。
答案 1 :(得分:1)
您需要存储fopen
返回的文件描述符,该文件描述符是用于访问您文件以执行任何文件操作的引用指针。
解决方案:
变化
fopen("output.txt", "w");
要
output_Ptr = fopen("output.txt", "w");