这是确切的错误
incompatible integer to pointer conversion assigning to 'char *' from 'char'
这是我的代码,我试图在其中使 str 等于 hexarr2 但我不确定如何这样做。
void int_to_hex(unsigned int x, char *str)
{
char hexarr2[9] = {'0','0','0','0','0','0','0','0',' '};
for (j = 0 ;j<9;j++){
str = hexarr2[j];
str++;
}
}
如果您尝试将字符从 复制hexarr2
到str
最简单的方法是:
void int_to_hex(unsigned int x, char *str)
{
char hexarr2[9] = {'0','0','0','0','0','0','0','0',' '};
for (j = 0 ; j < sizeof(hexarr2) ; j++)
str[j] = hexarr2[j];
str[sizeof(hexarr2)] = '\0';
}
这假设 指向的缓冲区str
足够大以容纳 中的所有字符hexarr2
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句