复制无符号字符数组
Posted
技术标签:
【中文标题】复制无符号字符数组【英文标题】:Copy unsigned char array 【发布时间】:2011-05-29 06:39:03 【问题描述】:将 unsigned char 数组复制到另一个数组的最佳方法是什么?
例如:
unsigned char q[1000];
unsigned char p[1000];
strcpy (q,&p);
上面的代码不起作用,它给我错误提示“无法将参数 1 从 unsigned char [1000] 转换为 char *”。
【问题讨论】:
您确定您不是要标记这个问题c++
而不是c
?在 C 中使用 strcpy
和 unsigned char
数组(只要它们是空终止的)应该没有问题。最坏的情况是默认关闭警告。
不管是C还是C++,这里使用&操作符总是一个bug。
【参考方案1】:
如其名称所示,strcpy
适用于 C 字符串(无符号字符数组不是)。
你应该考虑memcpy
。
【讨论】:
您可以将 unsigned char* 转换为 char*。 您能否提供一个小示例,因为我在使用 memcpy 将 unsigned char 变量复制到 unsigned char 数组时遇到问题。passing argument 2 of ‘memcpy’ makes pointer from integer without a cast [-Wint-conversion]
以上是关于复制无符号字符数组的主要内容,如果未能解决你的问题,请参考以下文章