tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
210
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    july july ist offline Mitglied Gold
    Registriert seit
    May 2011
    Beiträge
    103
    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
     

  2. #2
    Crash Kid Crash Kid ist offline Mitglied Gold
    Registriert seit
    Jan 2009
    Beiträge
    147
    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üße
     
    Wenn 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.

  3. #3
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    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

  1. Text aus einer .txt Datei auslesen
    Von Nycon im Forum Flash Plattform
    Antworten: 5
    Letzter Beitrag: 31.01.10, 17:10
  2. Auslesen einer IDL-Datei aus VB2005
    Von sydmak im Forum .NET Application und Service Design
    Antworten: 0
    Letzter Beitrag: 18.07.07, 10:01
  3. JPG-Datei aus einer großen Datei auslesen bzw. an diese anhängen
    Von jabonva im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 6
    Letzter Beitrag: 14.03.07, 22:54
  4. auslesen einer XML Datei via PHP
    Von virtualsix im Forum PHP
    Antworten: 7
    Letzter Beitrag: 13.10.04, 18:32
  5. Quelltext einer php-datei auslesen
    Von PsychoCat im Forum PHP
    Antworten: 3
    Letzter Beitrag: 01.09.04, 13:08

Stichworte