Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++ tiedoston luku?

Sivun loppuun

Jyri [14.11.2004 11:40:23]

#

Miten saisin luettua txt tiedostoa C++ lla?
Itse yritin ofstreamilla ja ifstreamilla, mutta en oikein osannut käyttää niitä.

Aruviel [14.11.2004 11:47:29]

#

// Tiedoston nimi. Ei tietty ole pakko nain tehda.
char* filename = "readme.txt";

// fstream olio map, i- ja o-streamit.
fstream map(filename); // fstream map("readme.txt");

// Luetaan tiedostosta tahan tilapaisesti.
string jono;

// Lukee rivin kerrallaan tiedostosta readme.txt, kunnes loppu koittaa.
while(getline(map,jono));
  // Do something

Jyri [14.11.2004 13:08:27]

#

kiitti.

Jyri [14.11.2004 15:55:48]

#

Nyt sain jo tiedoston tallennuksenkin melkein pelaamaan, tosin siinä on yksi pieni ongelma:
Tallenna tekstin string teksti muuttuujaan, joka sitten tallennetaan tiedostoon.
Ongelma on se, että tiedostoon taleentuu vain ykse (tiedston viimeinen) rivi joka on tässätapauksessa aina tallennuskomento.
Mikä olisi tähän ratkaisu?

arcatan [21.11.2004 10:58:23]

#

Jyri kirjoitti:

Nyt sain jo tiedoston tallennuksenkin melkein pelaamaan, tosin siinä on yksi pieni ongelma:
Tallenna tekstin string teksti muuttuujaan, joka sitten tallennetaan tiedostoon.
Ongelma on se, että tiedostoon taleentuu vain ykse (tiedston viimeinen) rivi joka on tässätapauksessa aina tallennuskomento.
Mikä olisi tähän ratkaisu?

Hiukkasen vaikea sanoa näkemättä koodia, mutta epäilen, että ylikirjoitat vanhan tekstin tallentaessasi sitä tekstiä siihen string-muuttujaan, ja jos luet rivi riviltä -tyyliin, niin jäljelle jää vain se viimeinen rivi.

Jäynis [26.11.2004 14:52:15]

#

string filunimi="testi.txt";
ifstream filu(filunimi);

Miksei aukasu onnistu nuin? Filun nimi sijaitsee string tyyppisessä muuttujassa ja sitä en rupee muuttamaan mut aukasu
ei ilmeisesti rupee toimii stringin kans ja char taulukkoon en oo saanu siirrettyä filun nimeä,joten mitä on tehtävissä?

Aruviel [26.11.2004 15:31:00]

#

string filunimi="testi.txt";
// Palauttaa C-tyylisen merkkijonon.
ifstream filu(filunimi.c_str());

Jäynis [26.11.2004 15:34:17]

#

while(1)
{
   Kiitän();
   Kumarran();
}

Sivun alkuun

Vastaus

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

Tietoa sivustosta