Olen tässä opetellut c++-ohjelmointia ja oppinutkin jo perusasiat, mutta käyttämissäni oppaissa ei ole ollut tiedostojen käsittelyyn esimerkkejä. Eli miten:
-avataan tiedosto
-kirjoitetaan tiedoston perään
-tyhjennetään tiedosto ja kirjoitetaan sinne
-luodaan tiedosto (jos ylläolevat eivät tee sitä jos tiedosto puuttuu)
-luetaan tiedostosta rivi x
-suljetaan tiedosto
Ensiksikin tarvitset fstream.h -otsikkotiedoston (tai pelkka fstream). Tämän jälkeen:
-tiedoston avaus:
ofstream tiedosto("nimi.txt"); // luodaan tiedosto, jota voidaan lukea ja kirjoittaa.
-tiedostoon kirjoitus:
tiedosto.put("antti");
-tiedoston sulkeminen:
tiedosto.close();
Lisää englanniksi: http://www.cprogramming.com/tutorial/lesson10.
täs ois tämmösii esimerkkejä.......
tallentaa: if(muuttuja==1){ ofstream pp1("yksi.txt", ios::binary|ios::app); pp1.write((char *)&muuttuja, sizeof(long double)); pp1.close(); } if(muuttuja==1){ tulostaa em. tallennettua; ifstream syotto1("yksi.txt", ios::binary|ios::app); while(syotto1.peek()!=EOF){ syotto1.read((char *)&muuttuja, sizeof(long double)); cout<<"xxxxxxxxxxxxx "<<muuttuja; } toinen esimerkki: #include <iostream> using namespace std; #include <fstream> int main() { char merkki; ofstream tdsto("teksti.txt"); cout<<"Kirjoita tekstiä, kun haluat lopettaa paina CTRL-Z\n"; cin.get(merkki); while (merkki != EOF) { tdsto.put(merkki); cin.get(merkki); } tdsto.close(); return 0; }
Kiitoksia. Täältä (ja irkistä) opin käisttelemän tiedostoja C++:ssa.
mäpäs varsin kirjoottelen....
tiedoston avaustapa ifstream ja ofstream-olioille kertoo mitä voi tiedoston kanssa tehdä:
mm.
ios::app siirrytään tiedoston loppuun, ennen jokaista kirjoitusta (lisäys)
ios::in avaa tiedoston lukua varten
ios::out avaa tiedoston kirjootusta varten
ios::trunc kutistetaan olemassa oleva tiedosto tyhjäksi
ios::ate siirrytään tied. lopp. avauksen yhteydessä. voit siirtää nykyisen sijainnin muualle ohjelmaan
ios::binary asetetaan binäärimuoto textimuodon sijaan. bin.muodossa kaikki merkit siirr. sellaisinaan tiedostoon tai tiedostosta
ofsteam-olion oletusarvona lauseke ios::out|ios::trunc, joka määrittelee että tiedosto avataan kirjoitusta varten. jos tiedosto on jo olemassa, sen pituudeksi asetetaan nolla, jolloin varmistetaan, että olemassa oleva sisältö hävitetään.
lisää c++ inside:ssä, ivor horton
ja c++ ja oliohjelmointi, päivi hietanen
Aihe on jo aika vanha, joten et voi enää vastata siihen.