Sommario
< Home
Stampa

Gestione files

In C++ (in C si possono gestire files ma con altre librerie) la gestione dei files ricalca gli stessi concetti della libreria <iostream> ovvero considerando un file come uno stream da cui leggere o su cui scrivere.

Lettura di files

1) Lettura con operatore >>

Partiamo dalle istruzioni principali:

– #include <fstream> importa la libreria;

– ifstream file("file.txt") -> crea una variabile di tipo ifstream (stream in lettura) di nome “file.txt” ed apre il file;

– file.close(); -> chiude il file.

– file >> string; -> legge dal file una stringa di lunghezza massima 10. Si ricorda che valgono le stesse regole di cin, quindi se prima della lunghezza massima viene letto uno spazio o un carattere di fine riga, si interrompe la lettura dal file e viene memorizzata la stringa fino a quel punto;

#include <iostream>
#include <fstream>

using namespace std;

int main() {
    ifstream file("file.txt");
    char string[10];
    file >> string; 
    cout << string;
    file.close();
    return 0;
}

2) Lettura tramite get

– file.get(c) -> richiede un carattere da file che memorizza nella variabile c (di tipo char). Questa funzione get restituisce true se ci sono ancora caratteri nel file, oppure false se il file è terminato.

#include <iostream>
#include <fstream>

using namespace std;

int main() {
    ifstream file("file.txt");
    char c;
    while (file.get(c)) {
        cout << c;
    }
    file.close();
    return 0;
}

3) Lettura tramite getline 

– file.getline(string, n) -> legge n caratteri da file e li memorizza su string. Se leggendo i caratteri trova un carattere “a capo”, termina la lettura. Questa funzione restituisce true se ci sono ancora caratteri nel file, oppure false se il file è terminato.

#include <iostream>
#include <fstream>

using namespace std;

int main() {
    ifstream file("file.txt");
    char string[10];
    while (file.getline(string, 10)) {
        cout << string << endl;
    }
    file.close();
    return 0;
}

Scrittura di files

Qui le istruzioni principali:

– #include <fstream> importa la libreria;

– ofstream file(“file.txt“) -> crea una variabile di tipo ofstream (stream in scrittura) di nome “file.txt” ed apre il file;

– file.close(); -> chiude il file.

– file << string; -> scrive sul file qualunque contenuto di tipo testo.

#include <iostream>
#include <fstream>

using namespace std;

int main() {
    ofstream file("file.txt");
    for (int i=0; i<100; i++) {
        file << i << " ";
    }    
    file.close();
    return 0;
}