25/03/13 17:53
r3ftch
Salve, mi sono appena iscritto a questo forum dopo esser stato per mesi solo un visitatore.
Sto scrivendo un programma con parecchie funzione che gestiscono diversi stream e sono arrivato al punto di non capire più nulla a causa di tutti i vari stream che ho aperto e chiuso in determinati posti in tutto il programma..
Quello che volevo chiedere è se fosse meglio(per prestazioni e chiarezza) aprire gli stream che mi servono in ogni funzione e poi terminarli sempre nelle stesse o come ho già fatto, ossia di aprirli e chiuderli nel main??
In altre parole è meglio tenere gli stream aperti il più possibile nel main e quindi passarli per riferimento alle funzioni oppure chiuderli e riaprirli all'interno di ogni funzione?
grazie in anticipo per l'attenzione
Ultima modifica effettuata da r3ftch 25/03/13 17:54
aaa
25/03/13 18:35
r3ftch
fstream myin,myout;
myin.open("input.txt",ios::in);
myout.open("output.html",ios::out);
era questo quello che intendevo
cioè non so se sia meglio mettere tutto questo all'interno di ogni funzione che usa gli stream e chiundi chiuderli all'interno di esse oppure mettere tutto nel main però poi dover gestire tutte le chiusure ed aperture prima di ogni funzione
Ultima modifica effettuata da r3ftch 25/03/13 18:38
aaa
25/03/13 22:32
LittleHacker
Postato originariamente da r3ftch:
fstream myin,myout;
myin.open("input.txt",ios::in);
myout.open("output.html",ios::out);
era questo quello che intendevo
cioè non so se sia meglio mettere tutto questo all'interno di ogni funzione che usa gli stream e chiundi chiuderli all'interno di esse oppure mettere tutto nel main però poi dover gestire tutte le chiusure ed aperture prima di ogni funzione
Potresti fare una cosa del genere:
#include ...
fstream myin, myout;
int main()
{
myin.open("input.txt",ios::in);
myout.open("output.html",ios::out);
txt();
html();
}
void txt()
{
myin >> "";
myin.close();
}
void html()
{
myout << "";
myout.close();
}
Ultima modifica effettuata da LittleHacker 25/03/13 22:33
aaa