Ciao a tutti ho un piccolo problemini con il parsing di un array di caratteri ...
codice:#include <iostream> #include <fstream> #include <string.h> void LibTest (char * theDependancies) { int i =0; char aBuffer [1024 * 1024]; // mi riservo 1MB di memoria memset(aBuffer, 0, sizeof (aBuffer)); // pulisco la zona di memoria che utilizzo per analizzare il file while ( true ) { std::cout << i << " - "; const char aChar = theDependancies[i] ; std::cout << aChar << std::endl; i++; if ((theDependancies[i] == '\0') && (theDependancies[i+1] == '\0')) break; // finqui ottendo la stampa di tutti i valori in senso verticale // serve la stampa in senso orizzontale e andare a capo dopo ogli parola } std::cout << i << std::endl; } int main(void) { char * aDependancies = "uno\0due\0tre\0quattro\0"; LibTest (aDependancies); return 0; }
l'output che ottengo è
0 - u
1 - n
2 - o
3 -
4 - d
...
17 - r
18 - o
19
Io ho bisogno di parsificare l'array e far uscire l'output nel seguente modo
1 - uno
2 - due
3 - tre
4 - quattro
Non riesco a capire come impostare la memorizzazioni su aBuffer[] per poi farla stampare a video tutta la parola e andare a capo.



Rispondi quotando