在Linux中,我在主侧开口的伪终端。虽然是从侧没有客户端,伪TTY似乎呼应的一切,我写信给他,这不是我期待的。 考虑如下因素的代码:

int  main(int argc, char * argv[])
{
    int ptyfd;
    int rc;     /* return code */
    char readbuf[3];
    ptyfd = open("/dev/ptmx", O_RDWR | O_NOCTTY);
    die_on_error(ptyfd, "open ptmx");

    /* unlock and print slave name */
    rc = unlockpt(ptyfd);
    die_on_error(rc, "unlockpt");
    printf("Slave pts name : %s\n", ptsname(ptyfd));

    write(ptyfd, "C", 1);
    rc=read(ptyfd, readbuf, 1);
    die_on_error(rc, "read");
    printf("read returned %c\n",readbuf[0]);
    return 0;   
}

当我运行这个程序,我希望读呼叫阻拦,而是它立即返回和的ReadBuf内容是C.我怎样才能改变这种行为?当从侧没有开口,我想写在主侧上的字符要么消失或被fifoed用于通过从侧后面读数。

时改变主侧属性做正确的方式?

有帮助吗?

解决方案

我想师傅一边是不是tty,但显然它,这样你就可以打电话之类的东西tcgettattrtcsetattr,并抑制回声。

其他提示

可以使用阻挡getch()呼叫。也getch()不会回声的内容。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top