【问题标题】:C char not saving to file until after app closeC char 直到应用程序关闭后才保存到文件
【发布时间】:2013-03-08 01:15:53
【问题描述】:

我正在制作一个 c 函数并将其与 mac 应用程序一起用于测试和学习目的。当我尝试使用此将文本打印到文件时:

FILE *f = fopen("text.txt", "w+");
fflush(f);
if (f==NULL) {
    f = fopen("text.txt", "w+");
    saveToFile(text);
    printf("null\n");
    return 0;
}
else{
    int i = fprintf(f, "%s", text);
    if (i>0) {
        return  1;
    }
    else{
        return 0;
    }
}
fclose(f);

它将它打印到文件中,但仅在我退出应用程序之后。有人知道为什么会这样吗?

【问题讨论】:

  • 0 你也可以分享 saveToFile() 函数吗,当我运行这段代码时,它说缺少函数和未初始化的文本我想了解这个程序。我是 C 的新手。我真的很感激。谢谢

标签: c file printf


【解决方案1】:

无论如何,在您的程序到达fclose 之前,您都在调用return。因此,您的程序将推迟写入文件,直到文件关闭(因为缓冲)。当您终止程序时,文件正在为您关闭。

【讨论】:

  • @ChrisLoonam:您应该将此标记为答案,以便将其从“未答复”列表中删除
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-28
  • 2014-09-30
  • 2013-02-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多