应用程序关闭后,C char不保存到文件

Chr*_*nam 1 c printf file

我正在制作交流功能并将其与mac app一起用于测试和学习目的.当我尝试使用以下方法将文本打印到文件时:

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);
Run Code Online (Sandbox Code Playgroud)

它将它打印到文件,但只有在我退出应用程序后.任何人都知道为什么会发生这种情况?

tep*_*pic 6

return无论您的计划能够达到什么目标之前,您都会打电话fclose.因此,您的程序将暂停写入文件,直到它关闭(因为缓冲).终止程序时,文件正在关闭.