Scusa e perché ti serve stamparla a video?
basta che sostituisci i caratteri di controllo con qualcosa di adeguato per fare un stampa alla meno peggio, se vuoi qualcosa di più accurato gestisciti i dati per quello che vuoi venga stampato...
Scusa e perché ti serve stamparla a video?
basta che sostituisci i caratteri di controllo con qualcosa di adeguato per fare un stampa alla meno peggio, se vuoi qualcosa di più accurato gestisciti i dati per quello che vuoi venga stampato...
"Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares
Mi serve stamparla per controllare cosa sto ricevendo e altri motivi. E' proprio questo il problema che io ho questi pacchetti (=array di unsigned char) e quando vado a staparli in Java (sotto Windows) ottengo una cosa ed è corretta, mentre in C++ (sotto Ubuntu) non ottengo la stessa cosa
Scusa, ma perché non puoi usare java anche in linux? xD
Comunque ti ho detto, basta che sostituisci i caratteri di controllo con qualcos'altro, ad esempio uno spazio..
"Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares
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
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]); }