* Tiedostojen käsittely C- funktiolla
* Tiedostojen käsittely C++ - tietovirroilla
* sizeof != strlen
* Parametrilliset makrot
* Tiedostot joissa rivillä monta kenttää
Tied. avaaminen C: FILE *f = fopen(nimi,tyyppi); C++: ifstream fi(nimi); ofstream fo(nimi); ofstream fo(nimi,ios::app); tai: ifstream fi; ... fi.open(nimi); Lukeminen C: fscanf(f,format,osoite,...); fgets(mjono,max_pit,f); C++: fi >> muuttuja; getline(fi,mjono); Kirjoittaminen C: fprintf(f,format,lauseke,...); C++: fo << lauseke; Sulkeminen C: fclose(f); C++: fi.close(); tai automaattisesti hajottajan ansiosta Muuttujan koko sizeof(muuttuja) // tavuina Tyypin viemä tila sizeof(tyyppi) // tavuina
C: FILE *fi = fopen(nimi,"rt") - fscanf(fi,...) - fgets(...,fi) - feof(fi) - fclose(fi) FILE *fo = fopen(nimi,"wt") - fprintf(fo,...) - fclose(fo) C++: ifstream fi(nimi) - fi >>... - getline(fi,...) - fi.eof() - fi.close() ofstream fo(nimi) - fo <<... - fo.close()
Pyrimme seuraavaksi lisäämään kerho- ohjelmaamme tiedostosta lukemisen ja tiedostoon tallettamisen. Tätä varten tutustumme ensin lukemiseen mahdollisesti liittyviin ongelmiin.
Perehdymme tässä luvussa tarkemmin vain C++:n tiedostonkäsittelyyn.