注意:这是 TurboC++,所以请不要指望 STL
我有这个简单的代码,除了驱动程序的声明和调用之外,没有其他 graphics.h
函数。我的目标是:
- 打印第一个字符串(更长的字符串)
- 转到第一个字符串的坐标,清除该字符串(使用
clreol()
) - 打印第二个较短的字符串。
但我宁愿在打印第二个字符串时得到此输出:
Shorter phrase.██████████████████████████████████████████████████████████████████
这是我的代码:
#include <stdio.h>
#include <conio.h>
#include <graphics.h>
int gdriver=DETECT, gmode;
void main(){
clrscr();
initgraph(&gdriver,&gmode,"C:\\TURBOC3\\BGI");
printf("Longer phrase than next.");
getch();
gotoxy(1,1);
clreol();
printf("Shorter phrase.");
getch();
}
当我删除 initgraph()
函数时,它工作正常,因此可能存在问题,但我当然需要它。
最佳答案
哈哈 - 来自 Stoneage 的编码问题;)。谢谢你 - 它激活了一些美好的记忆。
我的猜测是,您会遇到问题,因为您正在混合 BGI(图形)函数和“正常”文本输出。尝试将文本输出调用替换为对相应 BGI 函数的调用(如果我没记错的话,这称为 outtextxy() 或其他函数)。
关于c - Turbo C++ Graphics.h 与 conio.h clreol() 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22445905/