我知道这看起来很难看,但是,假设一个简单的程序,如:
int main(void)
{
int line=0, column=1;
char c;
system("clear");
printf("0123\n4567\n");
getprintedchar(column, line, &c);
printf("%c", c);
return 0;
}
这将打印数字1
。
我们如何使用LINUX终端编程这样的功能。我知道我们可以使用ncurses
,但这会阻止很多选项printf
等同样允许。
我想知道我们是否可以使用struct termios
或其他一些超级笨蛋黑客!
对于那些来自borland / windows的人来说,它类似于conio.h
函数gettext()
的简化版本。
我们可以读一些记忆区吗?也许有些assembly
可以直接从Video RAM
的某个区域获取角色?
谢谢!
答案 0 :(得分:0)
我知道我们可以使用ncurses,但这会阻止很多选项printf和类似的允许。
您始终可以使用snprintf
格式化字符串,然后以您想要的任何方式输出。 (N)curses是一个很好的终端处理库。
我们可以读一些记忆区域吗?
特别是,这是不可能的。您无法访问终端的内存,因为它是一个单独的进程,不会共享。