Zum Inhalt springen

Text in eine Datei an eine bestimmte Stelle schreiben


Empfohlene Beiträge

Geschrieben

Hallo,

ich lese eine Datei(xml) mit Hilfe von ifstream ein und gucke ob ein bestimmter Eintrag vorhanden ist. Wenn dieser Eintrag nicht vorhanden ist, soll mein Programm Einträge an einer bestimmten Stelle in der Datei machen.

Ich habe leider kaum einen Ansatz, wie ich das lösen soll.

Die Klasse ostream bietet ja die Funktion seekp an, mit der man anscheinend den Stream an eine bestimmte Stelle bringen kann.

Der Funktion kann ich aber nur einen pos_type übergeben.

Gibt es eine Möglichkeit, dass ich nach einem bestimmten Tag suchen kann (z.B. nach </irgendwas>) und mir dann den pos_type dazu geben lassen kann, damit ich dort meinen Eintrag vornehmen kann?

Gruß

Geschrieben
Der Funktion kann ich aber nur einen pos_type übergeben.
Das ist aber mit Sicherheit nur ein typedef für eine eingebauten vorzeichenlosen Datentyp. Da kannst du also vermutlich ohne Probleme einen unsigned int o.ä. verwenden.

Nachtrag: Ich hoffe, dir ist klar, dass du nichts einfügen kannst. Wenn du an einer bestimmten Stelle in die Datei schreibst, überschreibst du das, was da steht.

Geschrieben

Hallo,

muss es ifstream sein?

Wenn Du da mehr Freiheit hast, kannst auch mit CFile arbeiten, oder?

Dann liest alles in ein CString rein,und diesen kannst dann manipulieren wenn nötig,

und als Ergebnis wieder in die Datei zurück schreiben!

Und CString bringt auch eigene Funktionen zum suchen mit, wie:

CString::Find("</irgendwas>");, kommt darauf an wie Du es machen musst oder möchtest!?

LG

break

Geschrieben

@break:

Was du da beschreibst, geht genauso auch mit std::ifstream und std::string.

Das Grundproblem bleibt, dass man in Dateien nicht direkt etwas einfügen kann. Man muss den Inhalt in den Speicher holen, dort bearbeiten und wieder speichern.

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