复制无符号字符数组

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 中使用 strcpyunsigned 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]

以上是关于复制无符号字符数组的主要内容,如果未能解决你的问题,请参考以下文章

如何将字符串转换为无符号字符数组 [关闭]

如何在C中将无符号字符数组转换为十六进制字符串

从文件中读取文本到无符号字符数组

将 VARIANT 转换为无符号字符数组

创建 Java 实用函数以将无符号字符数组转换为字符串

如何计算无符号字符数组中元素的平均值?