gpt4 book ai didi

c - 在 C 语言中打印和清除,无需库

转载 作者:行者123 更新时间:2023-11-30 20:09:54 24 4
gpt4 key购买 nike

我正在尝试开发一个操作系统
它可以工作,但是我编写的函数“print”有错误:
如果我打印两个字符串,则只会显示一个字符串,并且命令 \n不起作用。
我的问题是:如何使用命令\n

如何在不使用库的情况下清晰地创建函数?
这是函数打印:

void print(char* message, int color)
{
char* mem = (char*)(0xb8000);
while(*message != 0)
{
*mem = *message;
mem++;
message++;
*mem = (char*)color;
mem++;
}
}

PS 它可以工作,但问题是,如果我使用 print 函数两次(带或不带 \n ,它只会打印第二部分。

最佳答案

要模拟换行符,您可能需要向视频内存写入与当前行中剩余字符一样多的空格。因此,您需要记住向当前行写入了多少个字符。

这同样适用于滚动。您需要以屏幕上最后一行再次变为空白的方式复制内存。

关于c - 在 C 语言中打印和清除,无需库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48126972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com