gpt4 book ai didi

c - 初始化 termios 结构以作为 VT100 工作

转载 作者:行者123 更新时间:2023-11-30 17:11:15 25 4
gpt4 key购买 nike

我正在尝试编写类似于 shell 的程序,但与终端仿真器相结合。这样做的原因是我无法刷新写入缓冲区以将数据发送到程序或程序检查输入/输出是管道。

问题在于设置 termios 结构。我希望我的伪终端能够作为标准 Linux 终端工作,并且它应该与轮询、写入和读取一起工作。

我正在使用 openpty 函数和 login_tty。我使用 openpty 两次打开标准输入/输出终端和 stderr 终端。

谢谢。

最佳答案

这段代码应该可以工作。

    if (openpty(&fds[0], &fds[1], NULL, NULL, NULL) == -1) {

perror("openpty error ");
return;
}

tcgetattr(fds[0], &termios);
termios.c_lflag &= OUR_FLAGS;
tcsetattr(fds[0], TCSANOW, &termios);

问题是我不知道 openpty 设置了哪些标志,但看起来它正确配置了终端。

我设置控制标志只是为了举例。就我而言,我已经像这样禁用了 echo

    termios.c_lflag &= ~ECHO;

关于c - 初始化 termios 结构以作为 VT100 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32411525/

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