2017-12-02 140 views
0

所以在我的节目,我提示用户选择是否拯救写入一个文件或退出而不保存..但我的问题,当我使用退出方式退出()或返回;打开的文件会自动关闭(保存)..我怎样才能阻止这从发型是否有另一个功能?如何关闭C语言文件中不保存信息到文件

+2

通过只在用户说“确定”时将数据写入文件。 –

+1

写入要添加到缓冲区的文件更改/信息,然后将缓冲区输出到文件当且仅当用户需要时。 – Annabelle

+0

的问题是,当用户进入它存储在其许多成员结构的阵列信息,以便它可以problamatic存储临时信息 –

回答

3

这是同时使对C.我的记事本程序,不要写入只要你输入文件我解决了同样的问题。将所有用户输入存储在一个大阵列中,char input[100],然后 如果用户说不,则关闭文件,如果用户说yes,fprintf(file,"%s",input);,然后关闭该文件,则关闭文件和return 0;

为了您的疑问: @ZeyadIbrahim约结构(非节点结构)的好事是它的方便。如果用户说是将所有Info存储在本地数组变量中,然后将其内容放入结构中,则这会使生活更轻松。所以不要直接写入一个结构体,首先放入一个变量然后放入结构体中,然后根据用户输入存储在文件中。

+1

请注明所接受,如果你发现这是很有帮助 –

+0

的问题是,当用户输入信息是存储在其许多成员结构的数组,以便它可以problamatic存储临时信息 –

+1

同样,如接受,如果你发现了可变它有用 –

-1

当你的应用程序启动,检查是否有一个.bak文件。 如果有,删除任何主文件,将bak文件复制到新的主文件。 如果没有bak文件,通过重命名为bak并将bak复制到新的主文件中。

然后运行你的应用程序,写/追加/不管主文件。 如果您的用户想要保存新数据,请关闭主文件,然后删除bak文件。 如果您的用户不想保存,请删除主文件。

+0

问题是当用户输入信息它存储在一个有许多成员的结构数组中,所以它可能是problamatic来存储临时信息 –