Oppure

Loading
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:28
LittleHacker
Postato originariamente da 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 :)


Cosa intendi con stream? Posta il codice, così almeno possiamo esaminarlo e dirti di più! Così non si capisce! :k:
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();
}


:k:
Ultima modifica effettuata da LittleHacker 25/03/13 22:33
aaa
26/03/13 19:14
r3ftch
grazie mille per l'ottima idea :)
ora vedo di modificare il codice
aaa