我正在使用以下代码从我的基本 C 程序中填充一个简短的字典:
void main () {
FILE *fp;
fp = fopen("c:\\CTEMP\\Dictionary2.txt", "w+");
fprintf(fp, Word to Dictionary");
Run Code Online (Sandbox Code Playgroud)
但是,我也希望删除某些我不想再出现在字典中的词。我做了一些研究,我知道
" 您不能从文件中删除内容并将剩余内容向下移动。您只能追加、截断或覆盖。
您最好的选择是将文件读入内存,在内存中处理它,然后将其写回磁盘”
如何创建一个没有我想删除的词的新文件?
谢谢
如果您需要进行的操作要复杂得多,那么您可以使用 mmap() 从字面上“将其读入内存”,但这是一种更高级的技术;您需要将文件视为没有零终止符的字节数组,并且有很多方法可以将其弄乱。