000
31.01.2011, 14:23 Uhr
~xyz__7000
Gast
|
Hallo zusammen, also ich möchte eine Textdatei zeilenweise auslesen, sodass jede Zeile in einem String gespeichert werden soll. Die Textdatei sieht in etwa so aus:
Code: |
Name1;Handynummer1;Adresse1 Name2;Handynummer2;Adresse2 ...
|
Dafür habe ich folgendes Programm geschrieben:
C++: |
void dateileser(char* ort){ string einstring; ifstream eingabestream; eingabestream.open(ort, ios::in); if(eingabestream){ while(!eingabestream.eof()){ getline(eingabestream, einstring); cout << "getline: \"" << einstring << "\"" << endl; // Zum Testen } } else{ cout << "Datei nicht gefunden!" << endl; } eingabestream.close(); eingabestream.clear(); }
|
Leider gibt das Programm ein String zuviel und sieht dann die Ausgabe folgendermaßen aus:
Code: |
"Name1;Handynummer1;Adresse1" "Name2;Handynummer2;Adresse2" [color="#FF0000"]""[/color]
|
Anfangs dachte ich, dass es sich um ein "\n" oder "\0" handelt. Deshalbe habe ich noch eine if-Anweisung hinzugefügt..
C++: |
if(einstring != "\n") cout << "getline: \"" << einstring << "\"" << endl;
|
.. hat aber nicht geholfen.
Wie kann ich verhindern, dass ich ein überflüssiges String bekomme? Config: Netbeans + Ubuntu
Vielen Dank im Voraus MfG |