|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jan 2007
Messaggi: 173
|
[C++] Scrittura carattere newline su txt in win
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. Codice:
filewrite2 << char(10); filewrite2.seekp(-1,ios::end); |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Se apri il file in modalità testuale ? Basta non specificare ios::binary nell'apertura del file. Dai direttamente in output std::endl, dovrebbe funzionare.
|
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: Jan 2007
Messaggi: 173
|
Quote:
Ti farei vedere il codice in privato se hai tempo/voglia, è molto commentato. Oppure boh, altre idee? Edit: risolto, questo forum porta fortuna, ogni volta che ci posto dopo riesco a trovare l'errore xD non avevo aperto il file da scrivere in binario, ho inserito Codice:
filewrite2.open("estratto.jpg", ios::out | ios::binary);
evviva Ultima modifica di k_mishima : 03-01-2009 alle 20:26. |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Via...allora ci ero andato vicino
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:49.




















