#c
#c
Вопрос:
Это точная ошибка
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 ;
}
}
Комментарии:
1. Что вы не понимаете в сообщении об ошибке?
2. Изменить
str
на*str
3. Другой способ:
str[j] = hexarr2[j];
и удалитьstr
.
Ответ №1:
Если вы пытаетесь скопировать символы из 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)] = '';
}
Предполагается, что буфер, на который указывает, str
достаточно велик, чтобы вместить все символы hexarr2
.