博主最近在写数据结构的课程设计。抽到了经典的《池塘夜降彩色雨》。。。表示很蛋疼。跟自己学的算法挂不上半毛钱关系。甚至我现在都还认为跟数据结构没有半毛钱关系。
o(╯□╰)o。但这也没办法,还有队友等你去carry,就是一个字。干。
查了下网上相关题目的资料跟代码。发现其实就是用Turbo C 下graphics.h里面的图形编程函数去写。
然后费劲各种努力装好了Turbo C 2.0 ,学会了用Turbo C来写程序员最喜欢的Hello world。
在运行graphics.h的函数时就出现了问题 BGI Error: Graphics not initialized (use 'initgraph')
这就是今天要说的重点。
个人认为网上提问说的好多方法都是骗积分的。对于一个Turbo C小白来说完全跟没说一样。比如我。 = 。=
这里说下我在别人的指导下成功解决的方法。~
首先。initgraph()函数里的path参数指向的是图形驱动程序所要找到的路径。
出现上述原因只有一个:程序找不到 BGI 图形驱动,初始化出错了。
请看我写的两种正确的调用方法:
方法一,比较正宗:
假设 tc 安装在 c:\tc20 下,要根据你的 tc 所在路径修改代码中的红色部分(路径中的反斜杠是转义符,要用 \\ 表示 \)。
#include <conio.h>
#include <graphics.h>
void main()
{
int gdriver=VGA, gmode=VGAHI;
initgraph(&gdriver, &gmode, "c:\\tc20\\bgi");
rectangle(100,100,300,300); /*画一个方块测试*/
getch();
closegraph();
}
方法二,比较偷懒:
使用以下代码前,请将 bgi 文件夹下的 EGAVGA.BGI 拷贝一份到上级目录,就是和 tc.exe 在同一个目录内
#include <stdio.h>
#include <conio.h>
#include <graphics.h>
void main()
{
int gdriver=VGA, gmode=VGAHI;
initgraph(&gdriver, &gmode, NULL);
rectangle(100,100,300,300); /*画一个方块测试*/
getch();
closegraph();
}