LLpresident Geschrieben 6. Dezember 2002 Geschrieben 6. Dezember 2002 hey. wie kann ich in einer if-anweisung abfragen ob das file was ich auswerte eof erreicht hat? quelltext: char E_Mail; char Test[255]; int i = 0; ifstream E_Mail_Anzeige("E_Mailaddressen.txt", ios::in); while(!E_Mail_Anzeige.eof()) { E_Mail_Anzeige.get(E_Mail); if(E_Mail_Anzeige == E_Mail_Anzeige.eof()) { break; /*i--; Test[i] = '\0';*/ } Test[i] = E_Mail; memToAddress->Text = Test; i++; } ohne die if-anweisung funktioniert es aber er zeigt das letzte zeichen doppelt an. wie kann ich das unterbinden?
Guybrush Threepwood Geschrieben 6. Dezember 2002 Geschrieben 6. Dezember 2002 Hi, das Problem ist wenn du dir mit E_Mail_Anzeige.get(E_Mail); das letzte Zeichen holst ist er noch nicht am Dateiende, er läuft die Schleife also nochmal durch, merkt bei der get() Funktion das er am Ende ist (holt also nichts mehr), schreibt aber weiter unten nochmal das zuletzt geholte Zeichen an das Ende von Test. Am besten prüfst du bevor du an Test anfügst nochmal ob das Dateiende erreicht wurde. Die Abfrage in deiner if Anweisung verstehe ich aber nicht, was bedeutet E_Mail_Anzeige == E_Mail_Anzeige.eof())? Gruß Guybrush
LLpresident Geschrieben 6. Dezember 2002 Autor Geschrieben 6. Dezember 2002 das sollte sone art abfrage sein ob die txt-datei zu ende ist.
LLpresident Geschrieben 6. Dezember 2002 Autor Geschrieben 6. Dezember 2002 @guybrush hab deinen tip bedacht und es auf folgende weise gelöst: ifstream E_Mail_Anzeige("E_Mailaddressen.txt", ios::in); while(!E_Mail_Anzeige.eof()) { E_Mail_Anzeige.get(E_Mail); if(E_Mail != '\0') { Test = E_Mail; } memToAddress->Text = Test; i++; E_Mail = '\0'; } und funktioniert :marine
Guybrush Threepwood Geschrieben 6. Dezember 2002 Geschrieben 6. Dezember 2002 ich würde aber anstatt auf '\0' zu prüfen einfach if(!E_Mail_Anzeige.eof()) schreiben, weil es könnte ja auch '\0' irgendwo in der Datei stehen.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden