Ciao!
Ho un problema... che sembra semplice ma non so come risolvere.
Questo è uno "pseudo-codice":
int currentElem;
uint8_t* a;
uint8_t* b;
currentElem = 0;
b = new uint8_t[numB];
a = new uint8_t[numA];
for(i=0; i<m; i++){
a = getValues(m);
memcpy((b + currentElem), a, numA * sizeof(uint8_t));
currentElem = currentElem + numA;
}
Vi spiego un po' il codice e il problema.
Ho la necessita' di concatenare in un unico vettore un certo numero di elementi (dipende da "m").
la funzione getValues dato l'ingresso "m", lo elabora e restituisce un uint_8* (cioè' un puntatore, e forse e' lui il problema?).
A quel punto concateno con memcpy e aggiorno currenElem.
Il problema che ho e'... se provo a fare la "print" del contenuto di "a" so che e' giusta (sto facendo dei test con valori noti per ora), pero' quando la concateno in "b" (a parte il primo ciclo) poi mi trovo valori a caso!!!
ES solo per fare capire il risultato:
m=2
ciclo 1) a="pippo" => ok
ciclo 2) a="pappo" => ok
risultato finale b="pippo204jd30" => sbagliata
Sapete darmi una mano?