Scusa ma con Java visualizzi una stringa con <EOT> ... ?
Scusa ma con Java visualizzi una stringa con <EOT> ... ?
No MP tecnici (non rispondo nemmeno!), usa il forum.
perché non ho certe librerie in linux
No, appunto dicevo, Java salta i caratteri di controllo (o talvolta quando li incontra va a capo), ma stampa il resto in modo corretto. Quella stringa che ho riportato è un esempio di ciò che potrei ricevere. In paratica tutti quei dati (caratteri di controllo + lettere e numeri) sono incapsulati nel mio array byte[] b, che non riesco a printare in C++. Mi pare di capire che è un problema di codifica, tipo US-ASCII o qualcosa del generema non so.. se vi vengono idee posso testarle
grazie del supporto
Ultima modifica di raff5184; 31-03-2014 a 16:48
Ripeto: sostituisci i caratteri di controllo con uno spazio o un qualsiasi altro carattere.
Mh, java è multipiattaforma
"Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares
Usa una printf("%c", array[i]) controllando che il valore di array[i] sia maggiore di 31
No MP tecnici (non rispondo nemmeno!), usa il forum.
Si è multipiattaforma ma sto usando un wrapper in windows che si riferisce ad una libreria sottostante...
Ho sostituito i caratteri di controllo con uno spazio ma non ha molto senso,
codice:for (int f=0; f<64; f++){ if ((int)data[f]<=31) cout<<" "; else printf("%c", data[f]); }
Sono sicuro ci fosse un %4d al posto di quel %c
Comunque così ti stampa i caratteri corettamente no?!
L'unica cosa che fa in più di quello che ha detto oregon è sostituire ai caratteri di controllo uno spazio, così sai dove si trovano
"Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares
Il problema sta nella lettura dei dati allora.
In ogni caso ti consiglio di trovare una libreria crossplatform e usare solo quella da Java senza dover sviluppare 2 applicazioni per nulla. Se hai già tutto sviluppato per Java, inoltre, ti basta aggiungere una classe che implementi le funzioni che usi con l'altro codice basandosi sulla libreria che hai scelto.
"Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares