c语言中两种类型之间的转换
我有c语言中两种类型之间的转换,c,types,C,Types,我有char数据[500]类型的数据我需要将其放入一个函数中,该函数接受无符号字符*数据。我如何在两者之间转换?我是个傻瓜。试试这个: unsigned char* des; des = malloc(500 * sizeof(unsigned char)); strncpy(des, data, 500); 那么您应该能够拨打: func(des); 试一试: unsigned char* des; des = malloc(500 * sizeof(unsigned char)); st
char数据[500]类型的数据
我需要将其放入一个函数中,该函数接受无符号字符*数据
。我如何在两者之间转换?我是个傻瓜。试试这个:
unsigned char* des;
des = malloc(500 * sizeof(unsigned char));
strncpy(des, data, 500);
那么您应该能够拨打:
func(des);
试一试:
unsigned char* des;
des = malloc(500 * sizeof(unsigned char));
strncpy(des, data, 500);
那么您应该能够拨打:
func(des);
以下其中一项应该有效
char data[500];
function((unsigned char*)data);
unsigned char copyOfData[500];
memcpy(copyOfData, data, 500);
function(copyOfData);
char data[500];
function((unsigned char*)data);
unsigned char copyOfData[500];
memcpy(copyOfData, data, 500);
function(copyOfData);
无符号字符
数据类型开始
unsigned char data[500];
function(data);
以下其中一项应该有效
char data[500];
function((unsigned char*)data);
unsigned char copyOfData[500];
memcpy(copyOfData, data, 500);
function(copyOfData);
char data[500];
function((unsigned char*)data);
unsigned char copyOfData[500];
memcpy(copyOfData, data, 500);
function(copyOfData);
无符号字符
数据类型开始
unsigned char data[500];
function(data);
您只需键入cast to
unsigned char
这里有一个例子
void method(unsigned char *data)
{
printf("%c",*(data+5));
}
int main()
{
char arr[10];
arr[5] = 's';
method((unsigned char*)arr);
}
希望这有帮助。您只需键入cast to
unsigned char
这里有一个例子
void method(unsigned char *data)
{
printf("%c",*(data+5));
}
int main()
{
char arr[10];
arr[5] = 's';
method((unsigned char*)arr);
}
希望这有帮助。这些转换者都没有,他们都重新解释了数据。@2501,如果
数据的类型不能更改,则没有其他选项。@2501 OP没有要求转换数据;他询问如何将表达式数据
转换为与无符号字符*
兼容的格式。这就是我对它的理解。@2501当然带有无符号字符数据[500];功能(数据)
,数据
从无符号字符
的数组500转换为指向无符号字符
的指针,成为函数()的参数。C11§6.3.2.13@M.MQ应该关闭。这些转换都没有,它们都重新解释了数据。@2501,如果不能更改数据的类型,则没有其他选项。@2501 OP没有要求转换数据;他询问如何将表达式数据
转换为与无符号字符*
兼容的格式。这就是我对它的理解。@2501当然带有无符号字符数据[500];功能(数据)
,数据
从无符号字符
的数组500转换为指向无符号字符
的指针,成为函数()的参数。C11§6.3.2.13@M.M应关闭Q。如果数据不是以null结尾的字符串(OP未指定-问题未指定),则会损坏数据。如果数据不是以null结尾的字符串,则会损坏数据(OP未指定-问题未指定)