|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: May 2005
Messaggi: 1169
|
[C++] Passare un ofstream a una procedura
Salve a tutti... Continua la serie delle mie domande da noob...
Al momento il mio programma è questo: Codice:
std::ofstream excel("Valori.cvs"); excel << "Fi2, S, Fi4, Xc, Yc" << endl; for (i=0; i<50; i++){ Codice:
excel << gdl << ","; for (j=0; j<4; j++){ excel << pEnne[j] << ","; } excel << endl; } Ovviamente però, se non dichiaro il flusso dentro la procedura, il compilatore non capisce cosa sia "excel", mentre se lo ri-dichiaro dentro la procedura, ad ogni ciclo mi "azzera" il file vecchio. Come faccio a far capire alla procedura che deve utilizzare il flusso che ho aperto nel main? Ultima modifica di _BlackTornado_ : 12-11-2010 alle 18:27. |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Mar 2008
Messaggi: 267
|
La cosa più semplice sarebbe questa: definisci la variabile "excel" come globale, cioè la metti fuori dal main (o dal posto dove l'hai definita), facendo semplicemente "std::ofstream excel;". Successivamente fai excel.open("nomefile"); per aprire il file e puoi usare lo stream excel ovunque.
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: May 2005
Messaggi: 1169
|
Quote:
Finchè io non chiudo il file, continua ad entrarci quello che ci mando, però se lo chiudo, non lo riapre, ma va a crearne uno nuovo vuoto (a meno che, credo, io non specifichi qualcosa tipo append, ma qui si va oltre le mie conoscenze). Grazie mille ![]() |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: May 2005
Messaggi: 1169
|
Quote:
![]() Avevo provato a passarla direttamente alla funzione, ma non sapevo che esistesse un tipo "ofstream" (ammesso che si possa chiamare "tipo", probabilmente mi sto perdendo qualcosa), quindi mi sono bloccato. Praticamente, mi pare di capire che "excel" sia in tutto e per tutto assimilabile a una variabile normale "multicontenuto", che poi viene riversata sul file nel momento in cui io faccio excel.close() e posso passarla alle funzioni proprio come una variabie normale, di tipo "ofstream". Giusto? Ma per caso conoscete qualche guida/corso che spieghi queste cose, magari con qualche esempio? |
|
![]() |
![]() |
![]() |
#6 | ||||
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Quote:
![]() Quote:
![]() ofstream è una classe della libreria standard del C++ Quote:
Le classi derivate da fstream hanno la particolarità di non essere copiabili. Quote:
www.cppreference.com www.cplusplus.com |
||||
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:04.