ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
210
210
EMPFEHLEN
-
hallo zusammen,
ich hab gerade ein Problem beim Lesen aus einer Datei. Die Datei wird davor erfolgreich erstellt und die Daten dadrin stimmen auch , aber...
Code cpp:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
{ ifstream inmap; inmap.open(filename.c_str(), ios::in | ios::binary); if(inmap.good()) { while(!inmap.eof()) { inmap >> key; inmap >> mel.msgId; ..... } inmap.close(); return 0; } else return -1; }
beim debuggen stell ich fest, dass beim Lesen die while-schleife zu einer Endlosschleife wird :/
Hat jemand eine Idee woran es liegt?
Grüße July
-
Hallo,
warum es bei dir eine endlos-Schleife wird, weiß ich jetzt auch nicht. Normalerweise sollte die Funktion eof() true geben, wenn du am Ende der Datei bist.
Ich lese Daten aus einer Datei immer mit fstream aus.
Code :1 2 3 4 5 6 7 8 9
fstream fDatei; char cDaten[1024]; fDatei.open(cDateipfad, ios::in | ios::binary); if(fDatei.good()) { fDatei.read(cDaten, sizeof(cDaten)); } fDatei.close();
Wenn du es ganz gut machen willst, schaust du zuvor, wie groß die Datei ist und erstellst entsprechend ein char-Array. Ist bei größeren Datein sehr sinnvoll.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
#include <sys/stat.h> //Für die Dateigröße #include <sys/types.h> //Für die Dateigröße fstream fDatei; cahr *cDaten; int iDateigroesse; struct stat statDateigroesse; iDateigroesse = stat(cDateipfad, &statDateigroesse); //Dateigröße der Datei ermitteln if(iDatei_Dateigroesse == 0) { iDateigroesse = statDateigroesse.st_size; } else { //Datei konnte nicht gefunden werden } char *cDaten = new char[iDateigroesse]; fDatei.open(cDateipfad, ios::in | ios::binary); if(fDatei.good()) { fDatei.read(cDaten, iDateigroesse); } fDatei.close(); //Wenn du die Daten nicht mehr brauchst, das Array wieder löschen delete[]cDaten;
Versuche es mal so. Da kann sicher nichts in einer schleife hängen bleiben
grüßeWenn meine Antwort nützlich bzw. hilfreich war, würde ich mich sehr über eine Bewertung bzw. ein Danke sehr freuen.
Danke euch
Programmiere in C, C++ auf Windows XP, Vista und Windows 7
Spezialisiert auf Netzwerkprogrammierung, WinAPI uvm.
-
Hallo,
auf EOF sollte man nie prüfen, siehe: http://www.tutorials.de/c-c/243283-i...-ofstream.html
Gruß
MCoder"The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
--- Larry Wall
Ähnliche Themen
-
Text aus einer .txt Datei auslesen
Von Nycon im Forum Flash PlattformAntworten: 5Letzter Beitrag: 31.01.10, 17:10 -
Auslesen einer IDL-Datei aus VB2005
Von sydmak im Forum .NET Application und Service DesignAntworten: 0Letzter Beitrag: 18.07.07, 10:01 -
JPG-Datei aus einer großen Datei auslesen bzw. an diese anhängen
Von jabonva im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 6Letzter Beitrag: 14.03.07, 22:54 -
auslesen einer XML Datei via PHP
Von virtualsix im Forum PHPAntworten: 7Letzter Beitrag: 13.10.04, 18:32 -
Quelltext einer php-datei auslesen
Von PsychoCat im Forum PHPAntworten: 3Letzter Beitrag: 01.09.04, 13:08





Zitieren
Login






