【发布时间】:2016-12-29 09:04:07
【问题描述】:
我的 C++ 程序中有十六进制值的 unsigned char 数组:
unsigned char buff[] = {0x03, 0x35, 0x6B};
我想计算这个数组的大小,以便我可以使用这个函数在 UART 端口 linux 上发送它:
if ((count = write(file,buff,length))<0)
{
perror("FAIL to write on exit\n");
}
我可以看到长度是 int 数,而 buff 是一个可以在程序执行期间改变大小的数组。 谁能帮我写一下。谢谢
【问题讨论】:
-
buff在程序执行期间不能改变它的大小。它用文字初始化,长度始终为 3 -
值 不是十六进制的,您只用十六进制表示法编写了它们。
{3, 53, 107}完全等价,{03, 065, 0153}也是如此。 -
@Story Teller 这只是一个例子,buff可以有不同数量的值存储在他里面。
-
所以它是一个裸指针?
unsigned char *buff? -
不,是数组。感谢您的帮助。