// Operazioni di base dei file
#include <iostream>
#include <fstream> // Libreria per i file
using namespace std;
int main () {
ofstream outfile; // variabile per il file di scrittura
// Indica dove andare a scrivere i file su disco
outfile.open ("esempio.txt");
// Scrivo i file
outfile << "Prima riga del file.\n"; // Equivalente di cout << "...";
outfile << "Seconda riga del file.\n";
// Quando ho finito di utilizzare il file lo chiudo.
// Come chiudere il file di word dopo avere finito di scrivere
outfile.close();
// Ora guarda nella cartella in cui c'è questo file cpp, troverai esempio.txt
// Uso una variabile temporanea per leggere dal file
char s[100];
ifstream infile; // variabile per il file di lettura
// Indico in quale file voglio andare a leggere i dati
infile.open ("esempio.txt");
// Leggo una riga dal file e metto il contenuto in s
infile.getline(s, 100); // Equivalente di cin.getline(...);
// Stampo la riga
cout << "1: "<< s << "\n";
// Come sopra, leggo la seconda riga e poi la terza
infile.getline(s, 100);
cout << "2: "<< s << "\n";
infile.getline(s, 100);
cout << "3: "<< s << "\n"; // Cosa stampa la terza?
// Quando ho finito di utilizzare in lettura lo chiudo.
infile.close();
return 0;
}
Ly8gT3BlcmF6aW9uaSBkaSBiYXNlIGRlaSBmaWxlCiNpbmNsdWRlIDxpb3N0cmVhbT4gCiNpbmNsdWRlIDxmc3RyZWFtPiAvLyBMaWJyZXJpYSBwZXIgaSBmaWxlCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbiAoKSB7CglvZnN0cmVhbSBvdXRmaWxlOyAvLyB2YXJpYWJpbGUgcGVyIGlsIGZpbGUgZGkgc2NyaXR0dXJhCgkvLyBJbmRpY2EgZG92ZSBhbmRhcmUgYSBzY3JpdmVyZSBpIGZpbGUgc3UgZGlzY28KCW91dGZpbGUub3BlbiAoImVzZW1waW8udHh0Iik7IAoJLy8gU2NyaXZvIGkgZmlsZQoJb3V0ZmlsZSA8PCAiUHJpbWEgcmlnYSBkZWwgZmlsZS5cbiI7IC8vIEVxdWl2YWxlbnRlIGRpIGNvdXQgPDwgIi4uLiI7CglvdXRmaWxlIDw8ICJTZWNvbmRhIHJpZ2EgZGVsIGZpbGUuXG4iOwoJLy8gUXVhbmRvIGhvIGZpbml0byBkaSB1dGlsaXp6YXJlIGlsIGZpbGUgbG8gY2hpdWRvLiAKCS8vIENvbWUgY2hpdWRlcmUgaWwgZmlsZSBkaSB3b3JkIGRvcG8gYXZlcmUgZmluaXRvIGRpIHNjcml2ZXJlCglvdXRmaWxlLmNsb3NlKCk7IAoJLy8gT3JhIGd1YXJkYSBuZWxsYSBjYXJ0ZWxsYSBpbiBjdWkgYyfDqCBxdWVzdG8gZmlsZSBjcHAsIHRyb3ZlcmFpIGVzZW1waW8udHh0CgkKCS8vIFVzbyB1bmEgdmFyaWFiaWxlIHRlbXBvcmFuZWEgcGVyIGxlZ2dlcmUgZGFsIGZpbGUKCWNoYXIgc1sxMDBdOwoJaWZzdHJlYW0gaW5maWxlOyAvLyB2YXJpYWJpbGUgcGVyIGlsIGZpbGUgZGkgbGV0dHVyYQoJLy8gSW5kaWNvIGluIHF1YWxlIGZpbGUgdm9nbGlvIGFuZGFyZSBhIGxlZ2dlcmUgaSBkYXRpCglpbmZpbGUub3BlbiAoImVzZW1waW8udHh0Iik7IAoJLy8gTGVnZ28gdW5hIHJpZ2EgZGFsIGZpbGUgZSBtZXR0byBpbCBjb250ZW51dG8gaW4gcwoJaW5maWxlLmdldGxpbmUocywgMTAwKTsgLy8gRXF1aXZhbGVudGUgZGkgY2luLmdldGxpbmUoLi4uKTsKCS8vIFN0YW1wbyBsYSByaWdhCgljb3V0IDw8ICIxOiAiPDwgcyA8PCAiXG4iOwoJLy8gQ29tZSBzb3ByYSwgbGVnZ28gbGEgc2Vjb25kYSByaWdhIGUgcG9pIGxhIHRlcnphCglpbmZpbGUuZ2V0bGluZShzLCAxMDApOwoJY291dCA8PCAiMjogIjw8IHMgPDwgIlxuIjsKCWluZmlsZS5nZXRsaW5lKHMsIDEwMCk7Cgljb3V0IDw8ICIzOiAiPDwgcyA8PCAiXG4iOyAvLyBDb3NhIHN0YW1wYSBsYSB0ZXJ6YT8KCS8vIFF1YW5kbyBobyBmaW5pdG8gZGkgdXRpbGl6emFyZSBpbiBsZXR0dXJhIGxvIGNoaXVkby4KCWluZmlsZS5jbG9zZSgpOwoJCgkKCXJldHVybiAwOwp9Cg==