Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++ tiedoston käsittely

Heikki [04.10.2003 19:57:25]

#

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

AK [04.10.2003 20:06:39]

#

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.html

cloudi [04.10.2003 20:36:30]

#

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;
}

Heikki [04.10.2003 20:45:23]

#

Kiitoksia. Täältä (ja irkistä) opin käisttelemän tiedostoja C++:ssa.

cloudi [05.10.2003 00:20:34]

#

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

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta