Fájlbeolvasás C++: Szöveg darabolása elválasztó karakter mentén

Válasz küldése
learner
DrótVégénSzéndarab
Hozzászólások: 25
Csatlakozott: 2017. november 4. szombat, 16:41

Fájlbeolvasás C++: Szöveg darabolása elválasztó karakter mentén

Hozzászólás Szerző: learner »

Sziasztok!
Segítségeteket szeretném kérni. Szöveges fájlból beolvasott adatokat akarom elválasztó karakter mentén darabolni, majd ezeket tömbe rakni. Érettségi miatt van rá szükségem, ezért fontos értenem, hogyan működik egy ilyen algoritmus. A feladatok, mindig külső "txt" fájból történő beolvasással kezdődnek, ha itt hibázok és nem tudom kijavítani, az elég nagy probléma nekem. 8O
Segítene valaki nekem mi lenne a legegyszerűbb és legérthetőbb kód, amivel ezt meg tudom valósítani?
Válaszaitokat előre is nagyon szépen köszönöm!


(Nem fordult elő még, hogy több elválasztó karakter volt a régebbi feladatokban, csak én akarok biztosra menni. Egy egyszrűbb példán szemlélteti valaki nekem, a megvalósítást azt is köszönöm :D )
Készítettem magamnak egy példa txt aminek a tartalma:
2021.05.13 10:28 ID566 ki-A
2021.06.13 18:36 ID123 ki-Slo
2021.06.01 11:30 ID566 be-HU
2021.06.15 14:12 ID123 be-HU
Így kezdtem neki a kódnak:

Kód: Egész kijelölése

#include <iostream>
#include <fstream>

using namespace std;

struct adatst {
    int ev, ho, nap, ora, perc = 0;
    string id, irany, orszag;
};

int main()
{
    adatst adatok[4];
    ifstream beolvas;
    beolvas.open("proba.txt");
    int db = 0;
    while (beolvas >> adatok[db].ev >> adatok[db].ho >> adatok[db].nap >> adatok[db].ora >> adatok[db].perc >> adatok[db].id >> adatok[db].irany >> adatok[db].orszag) {
	db++;
    }
}

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Re: Fájlbeolvasás C++: Szöveg darabolása elválasztó karakter mentén

Hozzászólás Szerző: kapu48 »

Első hiba! Rosszul használod a whilet!

Kód: Egész kijelölése

  int db = 0;
    while (db < 4)	// Kilépés feltétel
    {	// A törzs amit csinálni kel
       beolvas >> adatok[db].ev >> adatok[db].ho >> adatok[db].nap >> adatok[db].ora >> adatok[db].perc >> adatok[db].id >> adatok[db].irany >> 
       adatok[db].orszag;
       db++;	//	Végre hajtás számláló növelése
    }
https://www.codingunit.com/c-tutorial-f ... d-continue
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Re: Fájlbeolvasás C++: Szöveg darabolása elválasztó karakter mentén

Hozzászólás Szerző: kapu48 »

Az egész feladatra megoldás lehet az utolsó két példa:
https://stackoverflow.com/questions/590 ... t-string-c
Válasz küldése