tcflush
函数作用
用于清空终端未完成的输入/输出请求及数据
包含头文件
#include <termios.h>
函数原型
int tcflush(int fd, int queue_selector);
参数说明
fd // 终端I/O打开的句柄
queue_selector // 控制tcflush的操作,取值为下面三个常数中的一个:
TCIFLUSH // 清除正收到的数据,且不会读取出来。
TCOFLUSH // 清除正写入的数据,且不会发送至终端。
TCIOFLUSH // 清除所有正在发生的I/O数据。
返回值
0 // 成功
-1 // 失败,并且为 errno 置值来指示错误
tcflush如果成功则返回0,如果失败则返回-1。如果从后台进程调用tcflush,并使用指向该进程的控制终端的文件描述符,则可能会生成SIGTTOU信号。这将导致函数调用失败,返回-1并将errno设置为EINTR。如果SIGTTOU被阻止,函数调用将正常进行。
相关函数
int tcdrain (int fd); //等待所有写入fd中的数据输出
int tcflow (int fd, int action); //挂起 fd 上的数据传输或接收
TCOOFF //挂起输出
TCOON //重新开始被挂起的输出
TCIOFF //发送一个 STOP 字符,停止终端设备向系统传送数据
TCION //发送一个 START 字符,使终端设备向系统传输数据
参考链接:https://blog.csdn.net/williamwang2013/article/details/8560552