我有一个功能,就是这个样子的屏幕打印字符:如何使用Const Char *打印ASCII扩展字符?
void print(int colour, int y, int x, const char *string)
{
volatile char *video=(volatile char*)0xB8000 + y*160 + x*2;
while(*string != 0)
{
*video=*string;
string++;
video++;
*video=colour;
video++;
}
}
我要打印的字符254 in decimal,但我需要使用存储在const char*
。我无法尝试print(0x0F, 0, 0, 0xFE);
,因为这会在没有投射的情况下显示指针错误,那我该怎么做?
Eek。什么是魔术数字0xB8000? – GManNickG 2010-01-26 15:00:37
嘿,这是Nathan操作系统的核心 - 不要剔除它。 – 2010-01-26 15:01:34
是的,尼尔,这是我的核心操作系统。 – 2010-01-26 15:02:12