String aus Datei einlesen



  • Moin alle zusammen!

    Ich habe ein Problem einen String aus einer Datei einzulesen. Und zwar möchte ich die gesamte Zeile auslesen, doch wenn sich ein Leerzeichen in der Zeile befindet stoppt er an der Stelle.

    struct datentyp
    {
      char text[50];
      int  zahl;
    };
    
    datentyp daten;
    ifstream f;
    
    f.open("Database\\Datenbank.txt",ios::out|ios::app);
    while (!f.eof())
    {
       f>>daten.text;   //Name einlesen
       f>>daten.zahl;   //Kundennummer einlesen
    }
    

    Wenn jetzt Beispielsweise "Klaus Müller" in der ersten Zeile steht, dann liest er nur "Klaus" aus und hat dann Probleme den Integer daten.zahl einzulesen und es wird mit falschen Werten weiter gerechnet. Hat einer vielleicht eine Lösung für mein Problem?



  • Wird sind hier im C Forum

    nimm fopen

    FILE f=fopen(....);

    fscanf(f,%s",&daten.text);



  • Leider hat das nix gebracht!
    Er liest immernoch alles bis zum Leerzeichen, aber nicht darüber hinaus.



  • Da dein Quellcode eher nach C++ aussieht, versuch es mal mit getline().



  • Ja das hat geholfen...thx !


Log in to reply