Mam taką funkcję:
void conv(char *xcv,char *zzzz,char *aaa)
{
printf("Przed konwersja: %c\n\n",*zzzz);
uint8_t bytes[sizeof(xcv)];
uint8_t *byte = (uint8_t *) &xcv;
uint8_t *byte2 = (uint8_t *) &zzzz;
int ii;
for (ii=0; ii<sizeof(xcv); ii++)
{
bytes[ii] = *byte;
byte++;
}
for (ii=0; ii<sizeof(xcv); ii++)
{
printf("F: %d\n",bytes[ii]);
}
for (ii=0; ii<sizeof(xcv); ii++)
{
*byte2 = bytes[ii];
byte2++;
}
printf("Po konwersji: %c\n\n",*zzzz);
*aaa = *zzzz;
}
Konwertuje ona char (lub po modyfikacji inne typy wbudowane) na tablice uint8_t, a potem z powrotem do char.
Próbuję ją przerobić tak, aby działała na tablicy znaków char*, ale nie wychodzi mi.
Chodzi o to, żeby przesłać do funkcji wskaźnik do char* i operować na nim, a nie na kopii zmiennej.
Ogólnie w argumencie powinny być chyba char**, ale po jedynie takiej zmianie nie działa.
Pomoże ktoś?