Unix-Linx 编程实践教程 第六章 小结

  • 终端模式有三种,规范模式、非规范模式、raw模式。
    1. 规范模式:又名cooked模式,是最多见的模式。拥有缓冲区特性(仅在接收到回车键时才将输入发送到程序),使得驱动程序能够实现基本的编辑功能。可经过命令stty或tcsetattr()修改。
    2. 非规范模式:没有缓冲特性和可编辑特性,但仍具备特定的字符处理,好比处理Ctrl-C。
    3. raw模式:当全部的处理设置都被关闭时,驱动程序处于raw模式。
  • struct termios.c_lflag部分属性位
    ICANON---标准模式属性位
    ISIG---当输入INTR、QUIT、SUSP或DSUSP时,产生相应的信号
    ECHO---回显属性位

     

  • struct termios.c_cc[VMIN] = 1; //设置每次只读一个字符
    struct termios.c_cc[VTIME]=20; //设置驱动程序的超时为2s

     

  • 终端驱动程序默认行缓冲输出,因此cout<<endl同fflush(stdout)做用同样,都是让缓冲内容迅速输出。ios

  • signal()用于安装信号处理函数函数

  • 针对SIGINT(Ctrl-C)安装处理函数,若是SIGINT发送太屡次的话,仅仅有两个SIGINT会被真正发送到信号队列中code

相关文章
相关标签/搜索