将文本从终端复制到内存

时间:2012-11-08 16:14:00

标签: c linux console terminal

我知道这看起来很难看,但是,假设一个简单的程序,如:

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的某个区域获取角色?

谢谢!

1 个答案:

答案 0 :(得分:0)

  

我知道我们可以使用ncurses,但这会阻止很多选项printf和类似的允许。

您始终可以使用snprintf格式化字符串,然后以您想要的任何方式输出。 (N)curses是一个很好的终端处理库。

  

我们可以读一些记忆区域吗?

特别是,这是不可能的。您无法访问终端的内存,因为它是一个单独的进程,不会共享。