Dateiarbeit mit fstream

Julius7

Grünschnabel
Moin,

Ich muss ein Programm schreiben indem ich aus einer Textdatei z.B.

"liste.txt"

Audi TT 2 Sitzplätze 2014 55.000
VW Golf 5 Sitzplätze 2000 5.000
Opel Corsa .... usw

meine Aufgabe ist es nun, nur die Automarken einzeln aus dieser txt-Datei herauszuholen alle anderen informationen sollen ignoriert werden...

Ich finde jedoch kein Ansatz mein Grundprinzip sieht wie folgt aus ...

Code:
#include <iostream>
#include <fstream>
#include <string>

using namespace std;


int main()
{
   
    string Autos;
    string Auto[100];
    int c=0;



    ifstream Liste;                                        // Datei nur zum lesen wird geöffnet
    Liste.open("fahrzeugliste.txt",ios_base::in);

   
    while(!Liste.eof())
    {
            //string strchr(Autos, '\n');
             getline (Liste,Autos,'\n');
             Auto[ c]=Autos;
             cout << Auto[ c] << endl;
             c++;
    }

Ich hoffe ihr könnt mir helfen LG Julius
 
Moin,

hmm, verstehe die Aufgabe noch nicht ganz ...

Willst Du als Ergebnis nur
Audi TT
VW Golf
Opel Corsa
sehen ??

Gruß
Klaus
 
Jo genau hab es aber alleine hinbekommen ;)

Code:
while(Liste >> Autos >> Modell >> skipline)
    {
            // Auto[ c]=Autos;
             cout << Autos << Modell << endl;
             c++;
    }

so einfach kann es sein :p
 
Ich nehme jetzt einfach mal an, dass in deiner Liste nicht mehr als 10 Sitzplätze bei einem Auto stehen.

Du liest die Datei Zeilenweise aus und suchst in jedem String nach "Sitzplätze" mit std::string::find(). Nun weißt Du wo Sitzplätze anfängt.
Dann musst du noch 3 von dem von find() zurückgegebenen Wert subtrahieren (Leerzeichen + Zahl + Leerzeichen) und nun weißt Du von welcher Position und wieviele Zeichen du kopieren musst.
 
Zurück