keine compilerfehler und trotzdem schlecht?



  • Hallo

    ich habe ein programm geschrieben, was zeilenweise daten aus einer Textdatei ausliest. die zeilen sind immer gleich aufgebaut...
    teil1//teil2:teil3@teil4
    jetzt möchte ich von diesem teilstück jeweils teil1 bis 4 in eine neue textdatei schreiben.
    das funktioniert schon ganz gut, allerdings hat die textdatei jede menge einträge, und beim 30 eintrag bleibt plötzlich das programm stehen...
    es kommt weder fehlermeldung, noch sonst irgendwas, aber es ist egal ob ich jetz 2 sekunden oder 3 minuten warte um das programm dann über den taskmanager kille.
    in der neu erstellten textfile ist der letzte eintrag immer der gleiche...

    ich verwende die .NET version von 2003

    hier nochn bisschen code 😉

    ReadFile.Open("c:\\testfile.txt,CFile::modeRead);
    WriteFile.Open("c:\\neuesfile.txt, CFile::modeCreate | CFile::modewrite);
    //readfile und writefile sind vom typ CString
    

    ab diesem zeitpunkt arbeite ich eigentlich nur noch mit kopien der aktuellen zeile, bei der ich mit String.Find und String.Delete jeweils die stellen rauslösche die ich ned brauche...
    aber ich versteh ned warum mein programm stehen bleibt....

    kann mir jemand helfen?



  • könnte daran liegen dass du das ende der eingangsdatei nicht erkennst und dann macht dein programm unkontrollierte dinge...



  • die abfrage hab ich schon eingebaut... aber die größe des textfiles bleibt immer noch bei 13kb...

    aber ich hab jetzt die fehlerhafte stelle gefunden, hab aber dazu gleich noch ne frage...

    gibts sowas in der art für strings?

    string.Find('daszeichen',von hier, bis hier)?

    also die find methode für einen bestimmten indexbereich??



  • ReadFile.Open("c:\\testfile.txt,CFile::modeRead);
    WriteFile.Open("c:\\neuesfile.txt, CFile::modeCreate | CFile::modewrite);
    //readfile und writefile sind vom typ CString
    

    Es wäre mir neu das die Klasse CString auch Dateien öffnen kann.
    Hab ich was in der VC++ 7.1 übersehen?

    Hast du dir die Klasse CString in der MSDN schon angesehen? Denke Nein, sonst würdest du jetzt wissen das es diese Find-Methode nicht gibt und du dir das letzte vorkommen selbst merken musst.



  • hallo

    sry mein fehler... is natürlich kein cstring...
    hab auch gestern noch den fehler gefundne. in der mitte des textfiles war eine leerzeile, die hab ich ned abgefangen...

    mfg


Anmelden zum Antworten