8086写入文件而不覆盖

时间:2012-10-31 01:03:19

标签: text assembly ascii x86-16 output

我在8086程序集上有一个作业(这是作业),我需要在屏幕上显示BMP图像并从BMP创建一个ASCII文本文件(就像那些ASCII艺术软件那样)。

我已经覆盖了显示部分,我完成了“将BMP”翻译成ASCII。但是,如您所知,BMP文件的像素行信息是颠倒的,也就是说,最上面的行最后写在文件上。

所以我认为,为了创建.txt文件,我可以简单地写一行,将指针返回到文件的开头,然后写另一行,依此类推。但是,现在我觉得这样做只会覆盖前一行,而我最终会得到一个只有一行的文本文件。

所以,总之,我的问题是:有没有人建议如何处理这种情况?我非常感谢任何帮助。提前谢谢!

PD:我不是要求直接解决方案,可能有一些我不了解的东西或工具,可以帮助我解决这个问题。

1 个答案:

答案 0 :(得分:1)

您无法轻松插入文本文件。

但是,因为您知道要写入多少行文本,以及每行的长度(包括换行符),您可以搜索文件的正确部分并开始在那里写。

首先写出完全空格(和换行符)。然后,对于文本的每个扫描线,寻找适当的位置并输出一行文本。

或者,以相反的顺序读取位图扫描线。