因此,假设我有一个C程序将字符串存储到二进制文件中。然后在另一个二进制文件中,保存每个字符串的第一个字节的位置。
例如words.bin包含:alphacardelta
和pos.bin包含:0 5 8
我想插入“ beta”,并将其插入alpha和car之间。虽然我已经找到了如何在alpha后面插入它,但是我无法找到一种自动的方法来将其插入正确的位置,并且不会导致其他单词在可能较长的列表中“消失”。有帮助吗?
我认为可以工作的另一种方法(可能更好)是在delta之后插入beta,然后重新进行排序,但是我对此的尝试也失败了。
任何帮助表示赞赏。
答案 0 :(得分:2)
我想插入“ beta”,并使它介于alpha和car之间。
要在文件中执行此操作,您需要再次将数据写入文件中。
这里有两种方法。
或者,您可以
这是一个非常低效的操作,如果您尝试找到一种仅将新数据添加到文件末尾(追加)的方法,那就更好了。您可以在开头保留某种数据索引,以了解字符串的位置以及是否删除字符串。