1000 发表于 2020-5-14 23:38 是 |
fcode 发表于 2020-5-14 22:47 嗯嗯 感谢回答 所以我想要直接插入一列的话 应该怎么操作呢?? 只能把原内容再输入一次吗? ![]() |
因为文件在硬盘上都是线性的存储的。比如,你看到的样子(编辑器显示出来的样子)是这样: AAA BBB CCC DDD 但是实际它是这样的: AAA BBB {CRLF} CCC DDD 其中CRLF是换行符。 所以,如果你需要在第一行插入 XXX。需要变成 AAA BBB XXX {CRLF} CCC DDD 那么{CRLF} CCC DDD 就需要挨着逐个向后移动。 操作系统底层没有包含这样“上层”的操作。都是靠“上层”程序员去完成的。 你看到的所有“支持列插入”的编辑器,比如 UltraEdit ,记事本,或者 VS code 这些。他们全部,全部,都是先把文件的内容放入内存,在内存中插入新的一列。 每次插入一列,后面的行的内容全部逐个后移。 最后,把插入好的内容,全部,重新写入到文件里。 所以,你要想实现这样的结构,也只能如此。 |
1000 发表于 2020-5-14 22:37 默认的原文件内容是被覆盖掉的,好像没有列尾追加的,倒是有追加在文件末尾的 |
Transpose 发表于 2020-5-14 22:31 嗯嗯 我也知道这个方法 但我不理解我那样写入文件,为何会使文件的原内容消失 ![]() |
不知道有没有更好的办法。我的想法是从文件读入一行,用字符串保存。然后,再一起输入 。 |
捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )
GMT+8, 2025-4-4 02:20