如何在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的末尾。