k_mishima
03-01-2009, 18:46
Salve a tutti, ho un problema a cui non riesco a porre rimedio, spero in un vostro colpo di genio
Sotto windows un carattere di fine riga è visto come un Return carrage + Newline, in ascii 13 e 10.
Il problema è la scrittura su un file txt, se io sto scrivendo testo, no problem, ma se sto scrivendo byte letti in modalita' binaria, cosi' come sono, c'è appunto uno sfasamento.
Esempio, devo scrivere il byte corrispondente al 10, 00001010 e lui mi scrive prima il byte 13 e poi il 10
00001101 00001010
Questo mi crea un grosso problema. Il brutto è che la fine riga in win è RC + NL, se fosse stato al contrario, avrei potuto risolvere spostando di 1 dietro il puntatore e sovrascrivendo.
filewrite2 << char(10);
filewrite2.seekp(-1,ios::end);
Purtroppo non si puo' cancellare da 1 file txt, si puo' solo sovrascrivere. Avete qualche conisiglio? Magari usare qualcosa diverso da << ?
Sotto windows un carattere di fine riga è visto come un Return carrage + Newline, in ascii 13 e 10.
Il problema è la scrittura su un file txt, se io sto scrivendo testo, no problem, ma se sto scrivendo byte letti in modalita' binaria, cosi' come sono, c'è appunto uno sfasamento.
Esempio, devo scrivere il byte corrispondente al 10, 00001010 e lui mi scrive prima il byte 13 e poi il 10
00001101 00001010
Questo mi crea un grosso problema. Il brutto è che la fine riga in win è RC + NL, se fosse stato al contrario, avrei potuto risolvere spostando di 1 dietro il puntatore e sovrascrivendo.
filewrite2 << char(10);
filewrite2.seekp(-1,ios::end);
Purtroppo non si puo' cancellare da 1 file txt, si puo' solo sovrascrivere. Avete qualche conisiglio? Magari usare qualcosa diverso da << ?