Datei auslesen
-
huhu leute
hab irgendwie en komisches problem, für euch aba bestimmt kein ding:P#include <iostream> #include <fstream> using namespace std; int main() { char x; ofstream aus("Datei.txt"); if(aus) { aus << "Hallo"; } aus.close(); ifstream ein("Datei.txt"); if(ein) { while( ! ein.eof() ) { ein >> x; cout << x; } } ein.close(); system("pause > nul"); return 0; }Problem: - Warum wird das 'o' von hallo 2x eingelesen und ausgegeben??
- Wenn ich ein >> x; und cout << x; weglass und in der while nichts mehr drin steht hab ich eine endlosschleife...warum dass?danke für eure hilfe
mfg Dweb
-
Korrektur: ich meinte wenn die datei leer ist und ich in die while keine anweisungen schreibe dass ich dann eine endlosschleife hab... ich dachte dann hab ich sofort eof()=true
-
Afaik ist eof nicht das letzte Element, sondern das Ende des Buffers. Also ist noch nicht Schluss, wenn o kommt, und er macht die Schlaufe noch einmal und dann gibts hald noch ein o.
Im übrigen würde ich das eh so machen:while(ein >> x;) { cout << x; }