忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 1242 | 回复: 8

[Linux] 关于终端termios结构中控制字符 [复制链接]

论坛徽章:
0
发表于 2015-01-30 10:37 |显示全部楼层
在unix环境高级编程中底18-10演示的代码中
  1. #include "apue.h"
  2. #include <termios.h>

  3. int
  4. main(void)
  5. {
  6.         struct termios        term;
  7.         long                        vdisable;

  8.         if (isatty(STDIN_FILENO) == 0)
  9.                 err_quit("standard input is not a terminal device");

  10.         if ((vdisable = fpathconf(STDIN_FILENO, _PC_VDISABLE)) < 0)
  11.                 err_quit("fpathconf error or _POSIX_VDISABLE not in effect");

  12.         if (tcgetattr(STDIN_FILENO, &term) < 0)        /* fetch tty state */
  13.                 err_sys("tcgetattr error");

  14.         term.c_cc[VINTR] = vdisable;        /* disable INTR character */
  15.         [color=Red]//这里为什么把控制字符设置为2就是CTRL-B[/color]
  16.         term.c_cc[VEOF]  = 2;                        /* EOF is Control-B */

  17.         if (tcsetattr(STDIN_FILENO, TCSAFLUSH, &term) < 0)
  18.                 err_sys("tcsetattr error");

  19.         exit(0);
  20. }
复制代码
我想问下控制字符的取值有哪些,比如像Ctrl-B,Ctrl-C,Ctrl-D等的取值是什么怎么查询?

论坛徽章:
46
2015小元宵徽章
日期:2015-03-06 15:58:18羊年新春福章
日期:2015-04-14 10:37:422015年亚洲杯之阿曼
日期:2015-04-14 10:41:50NBA常规赛纪念章
日期:2015-05-04 22:32:03NBA季后赛大富翁
日期:2015-05-04 22:34:11菠菜明灯
日期:2015-05-04 22:35:49新奥尔良黄蜂
日期:2015-05-04 22:49:2315-16赛季CBA联赛之广夏
日期:2015-12-11 15:02:342015年亚洲杯之巴勒斯坦
日期:2015-03-04 19:56:562015年亚洲杯之阿联酋
日期:2015-03-04 11:19:04休斯顿火箭
日期:2015-03-02 16:32:11纽约尼克斯
日期:2015-03-02 16:09:04
发表于 2015-01-30 10:41 |显示全部楼层
stty -a  

论坛徽章:
0
发表于 2015-01-30 10:43 |显示全部楼层
super皮波 发表于 2015-01-30 10:41
stty -a


cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = <undef>;
        eol2 = <undef>; erase = ^?; intr = ^C; kill = ^U; lnext = ^V;
        min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T;
        stop = ^S; susp = ^Z; time = 0; werase = ^W;

这个也没有给出具体都是些什么值,像APUE这样直接复制让我有点蒙,一般不都是直接定义成宏的么?
这些组合键表示的值上哪找啊?

论坛徽章:
46
2015小元宵徽章
日期:2015-03-06 15:58:18羊年新春福章
日期:2015-04-14 10:37:422015年亚洲杯之阿曼
日期:2015-04-14 10:41:50NBA常规赛纪念章
日期:2015-05-04 22:32:03NBA季后赛大富翁
日期:2015-05-04 22:34:11菠菜明灯
日期:2015-05-04 22:35:49新奥尔良黄蜂
日期:2015-05-04 22:49:2315-16赛季CBA联赛之广夏
日期:2015-12-11 15:02:342015年亚洲杯之巴勒斯坦
日期:2015-03-04 19:56:562015年亚洲杯之阿联酋
日期:2015-03-04 11:19:04休斯顿火箭
日期:2015-03-02 16:32:11纽约尼克斯
日期:2015-03-02 16:09:04
发表于 2015-01-30 10:47 |显示全部楼层
回复 3# pang68599
2015-01-30 10:46:25的屏幕截图.png

   

论坛徽章:
0
发表于 2015-01-30 10:52 |显示全部楼层
super皮波 发表于 2015-01-30 10:47
回复 3# pang68599

感谢回答,term.c_cc[VEOF] = 2,比如说我赋值成3那么是不是就是ctrl-d了,那么这个ctrl-b是2,ctrl-d是3那么其他的ctrl-...都是什么值的呢?

论坛徽章:
46
2015小元宵徽章
日期:2015-03-06 15:58:18羊年新春福章
日期:2015-04-14 10:37:422015年亚洲杯之阿曼
日期:2015-04-14 10:41:50NBA常规赛纪念章
日期:2015-05-04 22:32:03NBA季后赛大富翁
日期:2015-05-04 22:34:11菠菜明灯
日期:2015-05-04 22:35:49新奥尔良黄蜂
日期:2015-05-04 22:49:2315-16赛季CBA联赛之广夏
日期:2015-12-11 15:02:342015年亚洲杯之巴勒斯坦
日期:2015-03-04 19:56:562015年亚洲杯之阿联酋
日期:2015-03-04 11:19:04休斯顿火箭
日期:2015-03-02 16:32:11纽约尼克斯
日期:2015-03-02 16:09:04
发表于 2015-01-30 11:10 |显示全部楼层
我记得是ascii码中的1-26分别对应的ctrl-a .... ctrl-z

论坛徽章:
0
发表于 2015-01-30 11:31 |显示全部楼层
super皮波 发表于 2015-01-30 11:10
我记得是ascii码中的1-26分别对应的ctrl-a .... ctrl-z


没有具体的文档什么么?

论坛徽章:
46
2015小元宵徽章
日期:2015-03-06 15:58:18羊年新春福章
日期:2015-04-14 10:37:422015年亚洲杯之阿曼
日期:2015-04-14 10:41:50NBA常规赛纪念章
日期:2015-05-04 22:32:03NBA季后赛大富翁
日期:2015-05-04 22:34:11菠菜明灯
日期:2015-05-04 22:35:49新奥尔良黄蜂
日期:2015-05-04 22:49:2315-16赛季CBA联赛之广夏
日期:2015-12-11 15:02:342015年亚洲杯之巴勒斯坦
日期:2015-03-04 19:56:562015年亚洲杯之阿联酋
日期:2015-03-04 11:19:04休斯顿火箭
日期:2015-03-02 16:32:11纽约尼克斯
日期:2015-03-02 16:09:04
发表于 2015-01-30 11:33 |显示全部楼层
回复 7# pang68599
这还要啥文档啊。。
去百度上找找吧

   

论坛徽章:
0
发表于 2015-01-30 11:37 |显示全部楼层
super皮波 发表于 2015-01-30 11:33
回复 7# pang68599
这还要啥文档啊。。
去百度上找找吧


谢谢!查了没有查到。。。我再找找看。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:wangnan@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP