Text aus einer Datei mit Leerstellen lesen



  • Morgen,

    kann man aus einer Datei die Leerstellen enthält Text auslesen?

    In meiner Datei abc.txt steht drin 1 2 3

    Aber wenn ich den Text auslese dann gibt der mir immer nur die 1 aus -.-

    ifstream datei;
    char *datei_name = "abc.txt";
    const char *datei_name_2;
    string datei_ort;
    string datei_ort_neu;
    
    string zeilen[256];
    
                    datei.open( datei_name );
    
                            for (int i=0; i<2 ; i++)
                            {
                                 datei >> zeilen[i] ;    
    
                            }
                            datei.close();
    
                         datei_name_2 = zeilen[0].c_str();
                         cout<<datei_name_2;
    


  • Ach mist vertan.

    So hier werden ja jetzt alle 3 Zahlen ausgeben aber immer nur ohne die Leerzeichen wie krieg ich es hin das er auch die Leerzeichen mit ausgibt?

    ifstream datei;
    char *datei_name = "abc.txt";
    const char *datei_name_2;
    string datei_ort;
    string datei_ort_neu;
    
    string zeilen[256];
    
                    datei.open( datei_name );
    
                            for (int i=0; i<3 ; i++)
                            {
                                 datei >> zeilen[i] ;    
                            }
                            datei.close();
    
                            for (int i=0; i<3 ; i++)
                            {
                              datei_name_2 = zeilen[i].c_str();
                               cout<<datei_name_2;
                            }
    


  • Du kannst mit getline() die Zeile auslesen und dann entsprechend den String parsen.

    Zu deinem zweiten Posting: Die Leerzeichen dienen hier als Trenner, folglich werden sie nicht mit eingelesen.



  • Aber mit getline() kann man doch nur Eingabe einlesen aber nicht auslesen.

    http://www.cpp-tutor.de/cpp/le04/le04_02_d1.htm



  • Ok ich glaub ich habs geschafft :>

    ifstream datei ("abc.txt");
     string s;
     string array[256];
    
     for (int i=0;i<2;i++)
     {
             getline(datei , s) ;
             array[i] = s;
     }
    
          for (int i=0;i<2;i++)
     {
         cout<<array[i] <<endl;
     }
    

Anmelden zum Antworten