n° 185
Maggio/Giugno 2013
Maggio 19, 2013, 03:50:10 pm *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia:
 
   Indice   Linux Windows Techassistance Gameassistance videogame hardware Aiuto Ricerca Agenda Downloads Accedi Registrati  

* Messaggi recenti
Messaggi recenti
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: scrittura su parametro ofstream&  (Letto 227 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
pall
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 1


Mostra profilo
« inserita:: Giugno 20, 2012, 02:05:44 am »

Salve a tutti.
Ho un piccolo problema con la scrittura su un file binario.

nel main() dichiaro una variabile std::ofstream foutput

scrivo alcune variabili in foutput con loperatore << e tutto funziona.

poi passo foutput ad una funzione per riferimento

void scriviFile(std::ofstream &f)

all'interno della funzione se provo a scrivere più volte un carattere nel file

f << char

il carattere non viene scritto.

Facendo il debugging ho scoperto che passando f per riferimento il carattere viene scritto sempre al posto dell'ultimo byte e lo stream non viene incrementato.

Ho provato a dereferenziare f con *f << char e &f << char, ma mi da errore in fase di compilazione.

Non ho idea di come risolvere questo problema.

Qualcuno sa aiutarmi?

Grazie.
Registrato
Hyde
Global Moderator
Hero Member
*****

Karma: +47/-6
Scollegato Scollegato

Messaggi: 3266


I am a man who walks alone


Mostra profilo WWW
« Risposta #1 inserita:: Giugno 20, 2012, 09:52:37 pm »

Credo che tu stia commettendo qualche altro errore che, ovviamente, non avendo postato lo snippet di codice, non può essere rilevato.

Questo codice, che dovrebbe essere lo stesso che tu hai descritto, scrive su file quello che ci si aspetta

Codice:
int main()
{
std::ofstream fs("test.dat",ios_base::binary);

fs << "Bah" << "\n";

writeStrem(fs);

fs.close();
        
         return 0;
}

void writeStrem(std::ofstream& f)
{

f << "Ciao";

}
Registrato

I Moderatori invitano tutti gli utenti a prendere visione del REGOLAMENTO e a rispettarlo.
http://myitside.blogspot.com
Pagine: [1]   Vai su
  Stampa  
 
Vai a:  

Copyright © 2011 Edizioni Master SpA. p.iva : 02105820787

Tutti i diritti di proprietà letteraria e artistica riservati. - Privacy



Links to Page