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.