完全关闭c中的文件

时间:2012-10-26 17:16:09

标签: c file edit

我需要阅读,然后写入文件。我不想使用“r +”,因为无论如何我完全覆盖了它。但我无法完全关闭该文件。如果我第二次尝试打开文件,应用程序崩溃(无法打开)。有谁知道如何完全关闭文件。

这不是实际的代码,只是我想要做的总结:

FILE* f;
fopen_s(&f, "test.txt", "r");
// read file and edit data
fclose(f);
f = 0;
fopen_s(&f, "test.txt", "w");
fprintf(f, "%c", data);
fclose(f);

1 个答案:

答案 0 :(得分:2)

fclose()关闭文件。它没有一半关闭它。 “完全关闭”文件的概念不存在。文件是打开还是关闭。中间没有。

虽然在您的代码中,您使用fopen_s()来打开文件。我不知道那个功能是什么。我假设它的工作方式与fopen()类似,但不是返回FILE指针,而是将其存储在参数中。

因此,您的问题的答案是:要“完全”关闭文件,请使用fclose()。就像你已经做的那样。这意味着你在其他地方遇到的问题。