文件没有输出

时间:2016-04-08 12:45:58

标签: c file output

由于某些原因,我的代码不会在我的文件中输出任何内容。 以下是相关代码。如果您需要我提供更多,请说明。

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

2 个答案:

答案 0 :(得分:2)

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

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

如果你不存储来自fopen的结果,你就不会获得文件的句柄,并且没有办法使用output_Ptr会给出一些东西。

答案 1 :(得分:1)

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

解决方案:

变化

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

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