【问题标题】:No output on file文件没有输出
【发布时间】:2016-04-08 12:45:57
【问题描述】:

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

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

【问题讨论】:

    标签: c file output


    【解决方案1】:

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

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

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

    【讨论】:

    • 我该怎么做?第一次,对不起。
    • @David_red 你用我写的那一行更新你的代码。您看不出问题中的代码有什么不同吗?
    • 非常抱歉。昨晚没睡。谢谢。
    【解决方案2】:

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

    解决方案:

    改变

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

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

    【讨论】:

      猜你喜欢
      • 2019-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-24
      • 2017-10-24
      • 2016-02-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多