让我们说我正在编写一个包含3-5个函数的程序,所有这些函数都处理相同的输入文件,该文件由25-50行字符串组成,每行由100个字符组成。我想使用此文件中的字符串进行各种字符串操作,例如删除元音和辅音,替换字符或只打印整个文件。
是否首选将这些行存储在例如数组或链表中?或者我应该只为每个函数使用fopen和fgets?存储仅在运行时进行。
一般来说,在多个函数中处理同一个文件时,处理输入文件的最佳方法是什么?
答案 0 :(得分:3)
如果没有其他程序或人员在您自己的程序之外修改文件,将所有数据加载到内存并在那里使用/修改它,将其写回文件更有效率你想要它更新。
可能就在退出程序之前,或者可能是在每次更改之后,或者可能是用户点击File/Save
时。
在程序运行期间多次打开,读取,写入和关闭文件效率不高,除非在运行期间需要 文件中的实际信息。