我是装配新手, 我试图从文本文件中删除特定的行 例如:删除文件的第三行 我尝试了很多东西,但我没有设法做到这一点 请有人帮帮我吗?
感谢, 荫
答案 0 :(得分:1)
文件是字节流。什么是“文本文件”取决于您对任务的定义和使用的编码。
如果这是学校项目(emu8086让我这么认为),那么你可能正在处理简单的原始ASCII文本文件,即一个字节=一个字符。然后你可能在文本中有DOS新行(<EOL>
=“行尾”)(两个字节:13,10)(如果你熟练的话,你也可以支持unix一个字节10和old-mac一个)字节13行结束,甚至错误[10,13]对)。
因此,要删除第三行,您需要打开源文件,打开目标文件进行写入,并复制包含第二个换行符的每个字节(或在源文件中检测到<EOF>
=“文件结尾”时完成在第三行之前)。然后,您只需继续读取源文件,直到达到第四个<EOL>
字节序列,然后将剩余的字节从源文件复制到目标文件。
即。想象5个空行的源文件,当在hexa查看器中查看时,您将看到这些字节:
0D 0A 0D 0A 0D 0A 0D 0A 0D 0A
; ^^^^^ this is third line content, will be removed
删除第三行后,新文件将包含以下字节:
0D 0A 0D 0A 0D 0A 0D 0A
=只有4个空行。