【问题标题】:Hex code for Control+Question Mark?Control+问号的十六进制代码?
【发布时间】:2010-10-14 13:45:05
【问题描述】:

我正在尝试在 C 程序中为串行端口设置特殊字符。我可以找到除 ^ 的代码之外的所有十六进制代码? (Control + 问号)用于擦除。

所需设置:

intr = ^C; quit = ^\; erase = ^?; kill = ^X; eof = ^D; eol = <undef>; 
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z;
rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 5;

设置特殊字符:

struct termios newtio;
newtio.c_cc[VMIN]=1;
newtio.c_cc[VTIME]=5;
newtio.c_cc[VINTR]= 0x03;
newtio.c_cc[VQUIT] = 0x1c;
newtio.c_cc[VKILL] = 0x18;
newtio.c_cc[VEOF] = 0x04;
newtio.c_cc[VEOL] = 0;
newtio.c_cc[VEOL2] = 0;
newtio.c_cc[VSWTC] = 0;
newtio.c_cc[VSTART] = 0x11;
newtio.c_cc[VSTOP] = 0x13;
newtio.c_cc[VSUSP] = 0x1A;
newtio.c_cc[VREPRINT] = 0x12;
newtio.c_cc[VWERASE] = 0x17;
newtio.c_cc[VLNEXT] = 0x16;
newtio.c_cc[VDISCARD] = 0x0f;

【问题讨论】:

  • 这是我第一次听说^? 被用作 DEL 的同义词。显然,这已经足够普遍了。

标签: c hex


【解决方案1】:
$ od -c <<< ^?
0000000 177  \n
0000002
$

所以,0x7f

【讨论】:

    【解决方案2】:

    看起来是十进制的 127。见Wikipedia

    【讨论】:

      【解决方案3】:

      通常是 (0x08) 或 DEL (0x7f)。由于退格几乎总是呈现为^H (CTRLH),我建议0x7f 是可以尝试的。

      【讨论】:

        猜你喜欢
        • 2014-01-15
        • 2019-01-01
        • 2012-02-14
        • 1970-01-01
        • 1970-01-01
        • 2011-10-25
        • 1970-01-01
        • 2015-03-21
        • 2011-09-20
        相关资源
        最近更新 更多