文件无输出

No output on file

出于某种原因,我的代码没有在我的文件中输出任何内容。 下面是相关代码。如果需要我提供更多,请说。

    //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;
}

编译器不是魔法,它猜不出你想做什么。以这种方式更新问题中代码的第一行:

output_Ptr = fopen("output.txt", "w");

如果您不存储 fopen 的结果,您将无法获得文件的句柄,并且使用 output_Ptr 也无法提供任何信息。

您需要存储 fopen 返回的文件描述符,它是访问您的文件以执行任何文件操作的参考指针。

解决方案:

改变

fopen("output.txt", "w");

output_Ptr = fopen("output.txt", "w");