我有char data[500];
类型的数据,我需要将其放入一个需要unsigned char* data
的函数中。我怎样才能在两者之间进行转换?我是个菜鸟。
答案 0 :(得分:3)
你可以简单地输入强制转换为unsigned char
这是一个例子
void method(unsigned char *data)
{
printf("%c",*(data+5));
}
int main()
{
char arr[10];
arr[5] = 's';
method((unsigned char*)arr);
}
希望这有助于。
答案 1 :(得分:2)
以下其中一项应该有效。
在调用函数之前转换数据。
char data[500];
function((unsigned char*)data);
在调用函数之前复制数据。
unsigned char copyOfData[500];
memcpy(copyOfData, data, 500);
function(copyOfData);
以unsigned char
数据类型开头。
unsigned char data[500];
function(data);
答案 2 :(得分:0)
试试这个:
unsigned char* des;
des = malloc(500 * sizeof(unsigned char));
strncpy(des, data, 500);
然后你应该可以打电话:
func(des);