Power of attorney Geschrieben 11. Juni 2002 Teilen Geschrieben 11. Juni 2002 Moin moin Wer kann mir helfen ich muss bestimmte Zeilen aus einer Datei auslesen und in eine Datenbank eintragen außerdem muss z.B. eine Zeile ausgelesen werden die Mit "Location:" beginnt, hier soll erst nach dem Doppelpunkt gelesen werden bzw. ausgegeben werden. Das mit der Datenbank is nich so das Problem aber die Dateiverstümmelung is der Horror!!!!!! Thx jezz scho ma! Hier werde mir hoffentlich geholfen! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Uncle Reaper Geschrieben 11. Juni 2002 Teilen Geschrieben 11. Juni 2002 Hi! Folgende Lösung müsste (zumindest im Borland Builder) laufen: TStringList *DateiInhalt = new TStringList; DateiInhalt->LoadFromFile("DATEINAME"); for(int j = 0; j < DateiInhalt->Count; j++) { if(DateiInhalt->Strings[j].SubString(0, 9) == "Location:") { // jetzt weiß ich nicht was Du machen willst. // Ich schieb den Rest des Strings einfach mal in 'ne andere Variable. AnsiString Rest = DateiInhalt->Strings[j].SubString(9, DateiInhalt->Strings[j].Length - 9); } } Hab ich jetzt allerdings nicht getestet... Fehler dürften allerdings nur bei den Indizes aufgetreten sein. Gruß, Uncle Reaper Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Manitu Geschrieben 17. Juni 2002 Teilen Geschrieben 17. Juni 2002 Wenn die Datei nicht allzu groß ist und keine Perfomance notwendig geht das. Wenn die Datei nicht zu groß ist (< 200M) sollte man sie sich direkt in den Speicher mappen (nennt man Memory Mapped Files; WIndows: CreateFile, CreateFileMapping, MapViewOfFile, GetFileSize; Unix: open, mmap, fstat), ansonsten muß man die Datei in Scheiben zerlegen. Bei diesem Verfahren mapped das System dir die Datei direkt in den Speicher (bringt bis zu 3-Zehner Potenzen). Danach muß man dann den Speicher mit Hand zerlegen (Vorsicht: nicht rein schreiben-> geht direkt in die Datei). Also Zeilenende suchen mit strchr (Vorsicht mit \r\n) und Zeilenanfang prüfen. usw bis man hinten ist. Wenn man fündig geworden ist kann man mit strncpy oder memcpy den Bereich rauslesen. Ist aber nicht für C++ Freaks. :-) Geht aber mit jedem C/C++ Compiler. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.