Textauslesen
-
Mit folgendem Code (ist nur ein Test
):
#include <iostream> #include <cstring> #include <fstream> using namespace std; fstream file; int main() { char a; file.open("test.txt", ios::in); while(!file.eof()) { file.get(a); cout << a; }; file.close(); return 0; };
lese ich das File mit dem Inhalt "Hallo Welt!" aus.
Zu lesen bekomme ich aber "Hallo Welt!!", also das letzte Zeichen immer doppelt. Kann mir jemand sagen, warum das so ist und wie ich das ändern kann?
-
Mit ein bischen suchen wüstest du das eof erst nach dem letzten Zeichen gelesen wird, darum das letzte Zeichen noch in a drinsteht.
Mach das lieber so:#include <iostream> #include <cstring> #include <fstream> using namespace std; int main() { char a; fstream file; file.open("test.txt", ios::in); while(file.get(a)) { cout << a; } }
-
gut das geht, aber noch was ganz anderes. führt es eigentlich zu irgendwelchen problemen, wenn man zwei verschiedene compiler installiert hat?
-
Warum sollte es?
Caipi
-
ne, warum sollte es
[edit] Zwei dumme, ein Gedanke