Guida Guida C++ classi iostream e fstream.

Stato
Discussione chiusa ad ulteriori risposte.

Pr0Ryder93

Utente Electrum
14 Gennaio 2010
264
67
14
174
Ultima modifica da un moderatore:
Ciao a tutti, oggi ho scelto di scrivere questa guida perchè in questo forum ci sono molti utenti che non programmano in nessun linguaggio di programmazione, si lo so che ciò che che sto per citare non sarà molto di aiuto a chi inizia in C++, ma voglio dare delle piccole nozioni sulla classe fstream.
allora iniziamo.
iniziamo dalla dichiarazione delle librerie:
Codice:
#include<iostream>
#include<fstream>
cosa abbiamo fatto ? abbiamo incluso nel file la libreria iostream e fstream.
IOSTREAM:
I = IMPUT ed O = OUTPUT.
cioe iostream include (dalla macro #include) tutte le funzioni per fare imput e output in C++
e adesso un piccolo programma di esempio.
Codice:
#include<iostream>
using namespace std;
int main()
{
int a,b,c;
cout << "immetti il primo numero " << endl;
cin >> a;
cout << " immetti il secondo numero " << endl;
cin >> b;
c=a+b;
cout << " il risultato e " << c << endl;
}
allora spiego:
ho fatto un programma che calcola la somma di due numeri.
adesso spiego quello che ho fatto.
Iniziamo dicendo che la libreria iostream contiene le seguenti funzioni:
cout: sta per console output e stampa a video tutto quello che gli viene inviato, per esempio:
Codice:
cout << " ciao " << endl;
questo stampa la parola ciao.
ma endl lo avete notato giusto? sta per ENDLINE e cioe obbliga ad andare a capo.
flush:
come cout ma con la differenza che esso obbliga a non andare a capo cioe a non mettere imput a capo esempio
cout << " ciao " << flush;
questo stampa ciao ma se mettiamo input non lo fa mettere a capo oppure se stampiamo piu stringhe cioe righe di testo non le mette a capo ma le fa apparire tutte e due attaccate.
cin:
esso sta per console imput e fa si che noi possiamo mettere un imput, per esempio:
Codice:
int x;
cout << " immetti il primo numero " << endl;
cin >> x;
cout << " hai immesso il numero " << x << endl;
esso ti chiede di immettere un numero, dopo che lo avrete messo vi stamperà il numero a video utilizzando cout.
clog:
sta per console log ed e lo strumento meno utilizzato ma ha la stessa funzione di cout e flush,
esempio;
clog << " ciao " << endl;
ha la stessa funzione di cout solo che viene utlizzato per fare apparire un errore.
ma comunque anche cout potrebbe fare apparire un errore e quindi ecco il motivo del poco utilizzo.
cerr:
sta per console error e ha la stessa funzione di cout e clog.
adesso che abbiamo capito come usare imput e output possiamo passare alla lezione piu importante:
>>:
esso e un "estrattore" e viene utilizzato con cin >> e fa si che immettendo imput esso estragga dal buffer della console di windows "DOS" dei caratteri oppure dei numeri ecc ecc
il suo nome e : SHIFT A DESTRA.
<<:
esso viene utilizzato in cout ed e uno SHIFT A SINISTRA che fa lo scan dei bit con questo segno cioe << invia i caratteri immessi alla console ma in output invece con lo invia in imput ma e la stessa cosa:
quando noi utilizziamo molte volte questo estrattore possiamo fare un "overloading" cioe sovraccarichiamo gli operatori. ma ricordate questa regola.
l'operatore shift a sinistra << può essere utilizzato solo con cout, clog, e cerr invece shift a destra >> può essere utilizzato solo con cin.
adesso che sappiamo la maggior parte delle cose possiamo passare al filestream:
Codice:
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
int x;
ofstream file;
cout << " immetti un numero " << endl;
cin >> x;
file.open("numero.txt",ios_base::app);
file << "numeri copiati nel programma" << endl;
file << x << endl;
file.close();
}
abbiamo creato un programma che invia in un file di testo il numero che gli diamo.
adesso iniziamo:
scusate tutti se non l'ho detto prima:
using namespace std;
essa e una direttiva che serve a dichiarare tutte le funzioni dello standard del C++
cioe con esso possiamo mettere tutto quello che vogliamo nel programma, ma attenzione! non e che possiamo fare: ciao come stai io voglio programmare xD non e che poi namespace std lo accetti e lo stampi.
quindi esso serve a dichiarare le funzioni tipo getline() cout << cin >> ecc ecc in pratica tutto lo standard del C++
adesso prima cosa:
Codice:
#include<fstream>
essa e la libreria che contiene tutte le fiunzioni per la gestione dei file in C++
la funzione.open();
essa dice di aprire il file:
la funzione.close();
essa chiude il file.
La parte più importante della guida:
I flag del preprocessore :
ios::eek:ut
esso e un flag che permette di aprire il file in modalità scrittura.
ios::in
esso e un flag che permette di aprire i file in modalità lettura.
ios::binary
file in modalità binaria.
ios::app
esso appende una stringa, un numero o qualsiasi altra cosa. ma deve essere utilizzata con ofstream e con il flag ios_base::app
dopo questa ultima citazione faccio un esempio,
ios::eek:ut
esso apre in scrittura, ma se chiudiamo e riapriamo il programma se andiamo nel file di testo appena creato ci accorgeremo che e scomparso tutto quello che avevamo copiato.
invece con ios_base::app; possiamo appendere sul file tutto quello che vogliamo e non scompare mai a meno che non eliminiamo il file.
spero di essere stato molto utile. dal vostro probmxing2010 e tutto, ciao e a presto :D.
 
Non è ordinatissima come guida cmq per chi è agli inizi, meglio di nulla.. ci sarebbe da correggere qualcosa forse ma davvero good job!
 
xd ma secondo me non era necessaria addirittura una guida agli stream, vabbè che son outili, ma sono anche molto semplici da usare...
In ogni modo bravo
 
Stato
Discussione chiusa ad ulteriori risposte.