终端io(二)

2016-02-26  本文已影响68人  千里山南

2016-02-26

获得和设置终端属性

使用函数tcgetattr和tcsetattr可以获得或者设置termios。这样也可以检测和修改各种终端选择标志和特殊字符。
int tcgetattr(int filedes, struct termios *termptr)
int tcsetattr(int filedes, int opt ,const struct termios * termptr)
这两个函数都有一个指向termios结构的指针作为其参数,他们返回当前终端的属性,或者设置终端的属性。因为这两个函数只对终端设备进行操作,所以若fieldes并不引用一个终端设备则出错,errno设置为ENOTIY
tcsetattr的参数opt使我们可以指定在什么时候新的终端属性才起作用。

tcsetattr函数的返回值无法判断属性是否设置成功

终端选择标志

所有列出的选择标志都用一或多位表示,而屏蔽标志则定义多为。屏蔽标志有一个定义名,每个值也有一个名字。例如,为了设置字符长度,首先用字符长度屏蔽标志CSIZE将表示字符长度的位清零,然后设置下列值之一CS5 CS6 CS7 CS8

上一篇 下一篇

猜你喜欢

热点阅读