如何在不将信息保存到文件的情况下关闭C文件

时间:2017-12-02 19:09:18

标签: c file

所以在我的程序中,我提示用户选择是否退出保存信息写入文件或退出而不保存..当我使用exit()或返回时我的问题;打开的文件会自动关闭(已保存)..那么我怎么能阻止这种情况从另一个功能开始呢?

2 个答案:

答案 0 :(得分:3)

这是我在C上制作记事本应用程序时遇到的同样问题。请勿在获得输入后立即写入文件。将所有用户输入存储在一个大数组char input[100]中,然后 如果用户拒绝,请关闭该文件并return 0; 如果用户说“是”,fprintf(file,"%s",input);,则关闭该文件。

你怀疑: @ZeyadIbrahim关于结构(非节点结构)的好处是它易于访问。如果用户说是将所有Info存储在本地数组变量中,然后将其内容放到结构中,这将使生活更轻松。所以不要直接写入结构,首先放入变量然后放入struct然后根据用户输入存储在文件中。

答案 1 :(得分:-1)

当您的应用启动时,请检查是否有.bak文件。 如果有,删除任何主文件,将bak文件复制到新的主文件。 如果没有bak文件,请通过将main重命名为bak并将bak复制到新的main来创建一个。

然后运行app,编写/追加/无论主文件。 如果您的用户想要保存新数据,请关闭主文件,然后删除bak文件。 如果您的用户不想保存,请删除主文件。