Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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!
Geschrieben

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

Geschrieben

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.

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...