如何在C中发送ctrl + z
我正在和Arduino合作。
我想在C中的字符串后发送Ctrl + z 。我尝试截断^Z
但是这不起作用。 那怎么办呢?
Ctrl + Z = 26 = '\032'
= '\x1A'
。 反斜杠转义序列中的任何一个都可以用字符串文字写入(但要注意hex转义,就好像它后跟一个数字或AF或af,这也将被算作hex转义的一部分,这不是什么你要)。
但是,如果要在Windows计算机上模拟终端输入(因此您希望将该字符视为EOF指示),则需要再次考虑。 这不是它的工作原理。
你也许可以或不可以用Arduino做你想做的事情; 在某种程度上,这取决于你认为它将要做什么。 它还取决于输入字符串是否会被视为来自终端。
因为我需要类似的东西,我把它砍掉了
#include #define CTRL(x) (#x[0]-'a'+1) int main (void) { printf("hello"); printf("%c", CTRL(n)); printf("%c", CTRL(z)); }
希望它有帮助8)
我假设通过“截断”你实际上意味着附加。
在ASCII中, CTRL + z是代码点26,因此您可以简单地将其附加为字符,例如:
#define CTRL_Z 26 char buffer[100]; sprintf (buffer, "This is my message%c", CTRL_Z);
sprintf
方法只是执行此操作的方法之一 ,但它们基本上都取决于您将最后一个字节放在值26的末尾。