驱动程序中文件描述符0的回显位的状态。使用重定向运算符

$ ./echostate < /dev/pts/0
$ ./echostate < /etc/passwd


输出量

c - linux &lt;termios.h&gt; echo它的意思是-LMLPHP

请给我解释每个命令产生的输出。
我不知道这些输出差异。

回声状态

#include <stdio.h>
#include <termios.h>
#include <stdlib.h>
main()
{
    struct termios info;
    int rv;
    rv = tcgetattr(0, &info);

    if (rv == -1) {
       perror("tcgetattr");
       exit(1);
    }
    if (info.c_lflag & ECHO)
        printf("echo is on, since its bit is 1\n");
    else
        printf("echo if OFF, since its bit is 0\n");
}

最佳答案

tcgetattr在文件(/etc/passed)上没有意义,而仅在某些类型的设备上有意义。

这就是错误消息告诉您的内容。

关于c - linux <termios.h> echo它的意思是,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52755828/

10-15 08:05