Ergebnis 1 bis 7 von 7

[C++] Ans Ende einer Zeile einer Textdatei schreiben

  1. #1 Zitieren
    Waldläufer
    Registriert seit
    Sep 2008
    Beiträge
    134
    Hey ,

    stehe gerade vor folgendem Problem: Ich habe ein C++ Programm, welches einige Werte jeweils ans Ende einer ganze bestimmten Zeile einer Textdatei schreiben muss.
    Hierbei sollte natürlich der Rest der Zeile unverändert bleiben.
    Beispiel:
    Folgendes sei meine Textdatei

    Hier steht etwas Text in der ersten Zeile.
    Hier steht noch mehr Text. [Hier möchte ich etwas einfügen lassen]
    TextTextTextText.
    Und so weiter.
    Wie muss mein Quellcode aussehen, damit er exakt bei der rot markierten Stelle, also in Zeile 2 in diesem Falle, eine Eingabe macht?

    mfg
    El
    El Tocho ist offline

  2. #2 Zitieren
    Pretty Pink Pony Princess  Avatar von Multithread
    Registriert seit
    Jun 2010
    Ort
    Crystal Empire
    Beiträge
    11.228
    wie wärs mit ner For schleife über jede zeile und eine bedngung darin das etwas mit der Zeile gemacht wird?

    Code wirst du hier nicht einfach so bekommen. Programmieren ist selber überlegen WIE etwas geht.
    [Bild: AMD_Threadripper.png] Bei Hardware gibt es keine eigene Meinung, bei Hardware zählen nur die Fakten.


    Probleme mit der Haarpracht? Starres Haar ohne Glanz? TressFX schafft Abhilfe. Ja, TressFX verhilft auch Ihnen zu schönem und Geschmeidigen Haar.
    [Bild: i6tfHoa3ooSEraFH63.png]
    Multithread ist offline

  3. #3 Zitieren
    Deus Avatar von Daepilin
    Registriert seit
    Oct 2006
    Ort
    NRW
    Beiträge
    11.619
    vor allem weiß man zuviel nicht.

    Du musst die zeile halt eindeutig identifizieren (z.B. die wievielte es ist, welche zeichenkombination drinn vorkommt usw) und dann das was du willst anhängen. Dabei bedenken, dass der zeilenumbruch am ende der zeile afair mit eingelesen wird, den müsstest du also abschneiden bevor du deinen neuen text anhängst und dann selbst wieder ans ende packen.

    Zum einlesen der datei: z.B: http://www.willemer.de/informatik/cpp/fileop.htm
    ich würde da getLine nutzen (die c++ version) um die datei zeilenweise einzulesen.

    Daepilin ist offline Geändert von Daepilin (22.08.2014 um 18:59 Uhr)

  4. #4 Zitieren
    Legende Avatar von jabu
    Registriert seit
    Jul 2011
    Beiträge
    7.328
    Letztendlich wird alles eine Frage der Strategie zum Zwischenspeichern sein, da man nicht einfach an ein Zeilenende schreiben kann, weil innerhalb einer Datei ein Zeilenende nur eine aus Zeichen bestehende Markierung ist, wonach unmittelbar der Rest folgt, was man dann als die folgende Zeile ansehen kann. Also muss der Rest nach hinten geschoben werden. Währenddessen ist der Zustand der Datei inkonsistent. Wenn es auf die Integrität der Daten ankommt, empfiehlt es sich deshalb, eine neue Datei anzulegen und die alte nach Erfolg zu löschen. Auch die temporäre Benennung der Dateien bedarf einer geeigneten Strategie. Die Problemstellung muss also zuerst unabhängig von einer Programmiersprache verstanden werden.
    jabu ist offline

  5. #5 Zitieren
    Tieftöner Avatar von Lookbehind
    Registriert seit
    Dec 2007
    Beiträge
    15.176
    Zitat Zitat von jabu Beitrag anzeigen
    Letztendlich wird alles eine Frage der Strategie zum Zwischenspeichern sein, da man nicht einfach an ein Zeilenende schreiben kann, weil innerhalb einer Datei ein Zeilenende nur eine aus Zeichen bestehende Markierung ist, wonach unmittelbar der Rest folgt, was man dann als die folgende Zeile ansehen kann. Also muss der Rest nach hinten geschoben werden.
    ...
    Wobei man durch geschicktes verwenden von File-Pointern den Puffer auf die Größe des ein zu fügenden Textes reduzieren kann.

    Aber alles in allem gehört dieses Thema doch eher nach nebenan ins Programmier-Forum [Bild: PraetoSchiebEnd.gif]
    Lookbehind ist offline

  6. #6 Zitieren
    Legende Avatar von jabu
    Registriert seit
    Jul 2011
    Beiträge
    7.328
    Zitat Zitat von Lookbehind Beitrag anzeigen
    Wobei man durch geschicktes verwenden von File-Pointern den Puffer auf die Größe des ein zu fügenden Textes reduzieren kann.
    ...
    Was normalerweise dazu führt, dass man die Verwaltung der Schreib-Caches dem Zusammenspiel aus dem Zielsystem und der dortigen Sprachimplementierung überlässt, was den Vorteil hat, dass man sich keine unnötigen Portabilitäts- oder Skalierungsprobleme einhandelt. Optimierungen bedürfen jedoch mindestens eingehender Kenntnisse von Aufgabenstellung und Zielsystem.
    jabu ist offline

  7. #7 Zitieren
    Waldläufer
    Registriert seit
    Sep 2008
    Beiträge
    134
    Tut mir leid, dass ich einige Tage nichts von mir habe höhren lassen^^

    Habe mittlerweile - nicht zuletzt wegen eurer Hilfe hier - eine Lösung gefunden.

    Danke

    mfg
    El
    El Tocho ist offline

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •