Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - gestione stream
Forum - C/C++ - gestione stream

Avatar
r3ftch (Normal User)
Newbie


Messaggi: 3
Iscritto: 25/03/2013

Segnala al moderatore
Postato alle 18:53
Lunedì, 25/03/2013
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 il 25/03/2013 alle 18:54
PM Quote
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 19:28
Lunedì, 25/03/2013
Testo quotato

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:

PM Quote
Avatar
r3ftch (Normal User)
Newbie


Messaggi: 3
Iscritto: 25/03/2013

Segnala al moderatore
Postato alle 19:35
Lunedì, 25/03/2013
Codice sorgente - presumibilmente Plain Text

  1. fstream myin,myout;
  2.  
  3. myin.open("input.txt",ios::in);
  4. 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 il 25/03/2013 alle 19:38
PM Quote
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 23:32
Lunedì, 25/03/2013
Testo quotato

Postato originariamente da r3ftch:

Codice sorgente - presumibilmente Plain Text

  1. fstream myin,myout;
  2.  
  3. myin.open("input.txt",ios::in);
  4. 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:
Codice sorgente - presumibilmente C++

  1. #include ...
  2.  
  3. fstream myin, myout;
  4.  
  5. int main()
  6. {
  7. myin.open("input.txt",ios::in);
  8. myout.open("output.html",ios::out);
  9.  
  10. txt();
  11. html();
  12.  
  13. }
  14.  
  15. void txt()
  16. {
  17. myin >> "";
  18. myin.close();
  19. }
  20.  
  21. void html()
  22. {
  23. myout << "";
  24. myout.close();
  25. }



:k:

Ultima modifica effettuata da LittleHacker il 25/03/2013 alle 23:33
PM Quote
Avatar
r3ftch (Normal User)
Newbie


Messaggi: 3
Iscritto: 25/03/2013

Segnala al moderatore
Postato alle 20:14
Martedì, 26/03/2013
grazie mille per l'ottima idea :)
ora vedo di modificare il codice

PM Quote