Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Tiedostosta lukeminen

jack [25.08.2008 15:41:34]

#

Elikkä, kuinka saisin (helposti) luettua tiedostosta(.txt) tietoa useammalta riviltä. Tuon opaskirjan mallilla saan kyllä luettua helposti ensimmäisellä rivillä olevat tiedot mutta tekemässäni ohjelmassa tietoa tulee useammalle riville. Apu ois tarpeen.

Grez [25.08.2008 15:46:04]

#

Yleisesti ottaen toistat rivin lukemisen useamman kerran niin saat aina seuraavan rivin.

Tarkempaan vastaukseen auttaisi jos tietäisi mikä kieli ja ympäristö on kyseessä tai mikä tarkalleen ottaen on "tuo opaskirja".

eq [25.08.2008 15:49:13]

#

Kieli?

C:n fscanfissa '\n' vastaa rivinvaihtoilmaisinta (en ole täysin varma, miten ohjelma suhtautuu järjestelmän vakiosta poikkeaviin rivinvaihtosymboleihin);

fscanf(stream, "%c=%f\n%d", ...);

edit: ohjelma lukee samalla tavalla kuin kirjoittaa, mutta ongelmia saattaa siis esiintyä jos ohjelma ei itse tee luettavaa tiedostoa.

jack [25.08.2008 16:36:47]

#

Aivan.. :)

Kielihän on siis C++ ja opas kirjalla tarkoitin tietysti Ohjelmointiputkan C- opasta.

TsaTsaTsaa [25.08.2008 16:46:14]

#

Pikainen ja yksinkertainen esimerkkiohjelma C++:n tiedostonluvusta. Lukee tiedostosta rivin kerrallaan muuttujaan 'rivi' ja tulostaa sen sisällön. Testaamatonta, joten saattaa joku virhe olla eksynyt joukkoon.

#include <iostream>
#include <fstream> // tiedostovirrat mukaan
#include <string>
#include <cstdlib>

using namespace std;

int main() {
  ifstream filu("esim.txt"); // avataan tiedosto lukemista varten
  string rivi; // luetaan rivi aina tähän muuttujaan

  // silmukka, joka pyörii niin kauan kun saadaan rivi luettua
  while( getline(filu, rivi) ) {
    cout << rivi << endl; // tulostetaan rivi
  }

  filu.close(); // suljetaan tiedosto
  return EXIT_SUCCESS; // lopetetaan
}

Blaze [25.08.2008 18:55:08]

#

jack kirjoitti:

Kielihän on siis C++ ja opas kirjalla tarkoitin tietysti Ohjelmointiputkan C- opasta.

Hetkinen... Joku ei nyt täsmää...

Tzaeru [26.08.2008 14:36:03]

#

Blaze kirjoitti:

jack kirjoitti:

Kielihän on siis C++ ja opas kirjalla tarkoitin tietysti Ohjelmointiputkan C- opasta.

Hetkinen... Joku ei nyt täsmää...

Mikäs ei täsmäisi? Eihän siinä oppaassa käsitellä mitään mitä C++ ei pitäisi sisällään. :)

Vastaus

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

Tietoa sivustosta