Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

ich hatte mich mich bisher noch nie richtig mit dem "Stream-Konzept" C++ beschäftigt. Bisher habe ich mir die Daten von der Tastatur oder dem Dialog geholt und auf den Monitor/View geschrieben. Auf den datenträger habe ich Daten nur geladen und gespeichert.

Nun wollte ich für ein Projekt unter ausschliesslicher Nutzung der MFC einen HTML-ähnlichen Eintrag, der in einer Datei vorliegt, verarbeiten:

<satz nr=1 > Text </satz>

Das Programm soll hier den "Text" in einem CStringArray satz unter der Nr 1 speichern.

Mein Vorgehen wäre(Datei ist geöffnet), um den ersten "Tag" zu laden :


char c;

CStringList arglist;

CString wort;

CFile file;

  do

  {

     // Werte zurücksetzen

     wort="";  

     zeichen=0x20;

     do

     {

        file.read(c,1)

        wort+=c;

     }while(c!=' ') // Lese Wort

     arglist.append(wort);

  }while(wort!='>');

Der Code soll eine StringListe wie diese erzeugen:

1. <satz

2. nr=1

3. >

Das würde mir schon zur Weiterverarbeitung reichen, weil ich dann die Argumente prüfen und aus dem zweiten Eintrag die Satznummer abtrennen kann.

Nun wird immer nur ein Zeichen eingelesen, was bei längeren Dateien sicher nicht sehr effektiv ist.

Hat jemand eine Idee oder enen Link, wie ich das effizienter lösen kann?

Danke

MfG

André

Geschrieben

tach andie,

habe bisher noch nicht in c# programmiert, aber wenn es in c++ schon möglich ist ganze wörter einzulesen, dürfte es da auch was in c# geben.

logischerweise wäre es das sinnvollste den text iterativ nach dem string "nr=" zu durchsuchen und mit dem definierten abstand zwischen dem gesuchten string und dem satz zu springen um eben diesen auszulesen.

da c# eine .net sprache ist, müsstest das z.b. mit der methode substring() gehen. alternativ könntest du was anderes mit readline() probieren (dürfte recht selbsterklärend sein :-) )

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...