在c中的graphics.h中使用outtextxy实现退格

时间:2010-04-17 15:41:24

标签: c graphics

Yersterday我试图在c中创建一个文本编辑器。但是我遇到了退格字符的问题。当我试图用outtextxy打印时,会出现一个奇怪的角色。 我尝试使用此退格代码:

str [2] =“\ b”;

outtextxy(X,Y,STR);

这在textmode下运行正常,但在图形模式下无法正常工作。 如果您有任何解决方案,请帮助我,我将在星期一提交我的计划。

提前致谢

2 个答案:

答案 0 :(得分:1)

自从我上次关注这个问题以来,这已经过了20年。它是BGI(IIRC)中的低级图形输出功能。您将获得代码8的字形,这是一个在OEM字符集中带圆圈的矩形。

为了让它像puts()一样,你必须自己解释控制代码。如果看到退格(char 8),则必须更新内部“光标位置”变量并将x向后移动字体宽度。 '\ n'(增量y)和'\ r'(设置x为0)相同。

答案 1 :(得分:0)

由于U处于图形模式:

  1. [第1步] 使用两个整数(比如x,y)跟踪当前位置

  2. [第2步] 每当按下退格键时:

    首先检查x == 0,y == 0:发出一声嘟嘟声;

    否则检查x == 0,y> 0:然后使x =屏宽,y = y-1;

    否则检查x> 0,y> 0:然后x = x-1;

  3. 现在你有正确的x,y坐标,只有 outtextxy 在这个位置有一个NULL /空格字符。

    注意: outtextxy 之后,不要增加x,因为光标仍然应该位于prev字符位置。

    好运!