• termios介绍


    文件描述符(fd)

    内核(kernel)利用文件描述符(file descriptor)来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。

    结构体 termios

    typedef unsigned int    tcflag_t;
    struct
    termios { tcflag_t c_iflag; /* input mode flags */ tcflag_t c_oflag; /* output mode flags */ tcflag_t c_cflag; /* control mode flags */ tcflag_t c_lflag; /* local mode flags */ cc_t c_line; /* line discipline */ cc_t c_cc[NCCS]; /* control characters */ speed_t c_ispeed; /* input speed */ speed_t c_ospeed; /* output speed */ #define _HAVE_STRUCT_TERMIOS_C_ISPEED 1 #define _HAVE_STRUCT_TERMIOS_C_OSPEED 1 };

    函数tcgetattr——获取终端相关参数

    * Put the state of FD into *TERMIOS_P.  */
    int tcgetattr (int __fd, struct termios *__termios_p) ;

    tcgetattr函数用于获取与终端相关的参数。参数fd为终端的文件描述符,返回的结果保存在termios结构体中,该结构体一般包括如下的成员:

    tcflag_t c_iflag;
    tcflag_t c_oflag;
    tcflag_t c_cflag;
    tcflag_t c_lflag;
    cc_t c_cc[NCCS];
     
    函数tcsetattr——设置终端相关参数
    /* Set the state of FD to *TERMIOS_P.
       Values for OPTIONAL_ACTIONS (TCSA*) are in <bits/termios.h>.  */
     int tcsetattr (int __fd, int __optional_actions, const struct termios *__termios_p) ;

     回显:就是你输入的东西能不能在终端显示出来,可以通过

    stty -echo 关闭回显
    stty echo打开回显

    自己体验一下就知道了。

  • 相关阅读:
    生成全局id的方式
    如何使得搜索的信息更准确?
    水平分区
    大表如何优化?
    MySQL_fetch_array和MySQL_fetch_object的区别是什么?
    BLOB和TEXT区别
    如何在Unix和MySQL时间戳之间进行转换?
    用ActionSupport实现验证
    服务器端验证--验证框架验证required.
    自定义类型转换器converter
  • 原文地址:https://www.cnblogs.com/qixianyu/p/6648339.html
Copyright © 2020-2023  润新知