-1

我有一个关于 8086 汇编的作业(这是家庭作业),我需要在屏幕上显示 BMP 图像并从 BMP 创建一个 ASCII 文本文件(就像那些 ASCII 艺术软件一样)。

我已经介绍了显示部分,并且完成了将 BMP“翻译”为 ASCII 的工作。但是,如您所知,BMP 文件的像素行信息是颠倒的,也就是说,最上面的行最后写入文件。

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

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

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

4

1 回答 1

1

您不能轻易地插入到文本文件中。

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

首先写出完整的空格(和换行符)。然后对于每一行文本,寻找到合适的位置,输出一行文本。

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

于 2012-10-31T01:08:56.527 回答