c - 如何在无符号数组 char 中组合字符和数字

标签 c

我想看看这在 C 代码中是否真的可行。

unsigned char message[] = {0x00,0x00,"Hello world"};
<小时/>

我想强制某些固件在同一数组中采用 0x00 以外的字符。它有:

unsigned char message[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

已经写在里面了。我希望它采用其他字符,因为这两种字符都是可能的:

unsigned char message[] = "Hello world";

unsigned char message2[] = {0x00,0x00,0x00};

我有一个缓冲区,用于存储来自 UART 的字母,我想将其与其组合

 unsigned char message2[] = {0x00,0x00,0x00};

最佳答案

正如编译器告诉您的那样,您无法以您尝试的方式执行您尝试的操作。

请注意,您可以使用:

unsigned char message[] = "\x00\x00Hello world";

但需要相当小心,因为:

unsigned char message[] = "\x00\x00Byebye world";

第二个字节包含 \xB\013第三个字节是 y 。十六进制转义符在第一个不是十六进制数字的字符处停止(因此 "\x00Babaganoush" 在十六进制转义符中有六位数字;并且有很多拼写“Babaganoush”的方法)。

关于c - 如何在无符号数组 char 中组合字符和数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26044265/

相关文章:

c - 如何知道给 exec 的命令是否存在?

c - 如何检查单词a中单词b中的所有字符(C语言)?

C 链表集(抽象数据类型)

c - 如何使用 libcurl 作为服务器?

c++ - 收到错误 'setLocked' cannot be used as function,初学者,不确定如何解决此错误

arrays - 创建数组时使用 OpenMP 时出现段错误

c - 从 VC++ 2008 编译器读取控制台输入 :Error

c - C中的基本流处理

c - 将指向 C 数组的指针传递给函数

c - MPI编程中如何随机选择主处理器?