facendo una semplificazione della procedura ottengo un codice di questo tipo:
codice:
int main(int argc, char* argv[])
{
...
...
char* stringa;
stringa=concatena_stringa(gesto);
printf("stringa fuori=%s\n", stringa);
DOMText* coordElem = doc->createTextNode(X(stringa)); //scrive la stringa in un file XML
...
...
}
char* DOMWriter::concatena_stringa(Gesture gesto)
{
int intero=10;
char *stringa;
char num[100];
int c;
c=sprintf( num, "%i", intero );
stringa= num;
printf("stringa=%s\n", stringa);
return stringa;
}
in effetti il risultato mostrato è:
codice:
stringa=10
stringa fuori=10
però quando vado ad aprire il file XML al posto di 10 ci sono solo caratteri strani!
La funzione richiamata nel main per scrivere il file XML in realtà funziona perchè se al posto della chiamata "concatena_stringa" scrivo
in effetti nel file XML mi compare "10" !!
Probabilmente nella procedura "concatena_stringa" faccio qualcosa di strano che inserisce nella stringa qualche carattere non supportato dalla funzione che scrive nell'XML!
Avete qualche idea in merito?
Grazie!