Frage

Rechnungszahlungsbetrag

15 Überprüfung 52.42

23 Einsparungen 51.51

11 Prüfen 12.21

ist meine Tabulatordatei

Ich möchte in der Lage sein, nach Zeilen von der Kontonummer zu suchen.Sagen Sie, wenn ich 23 eingesetzte, möchte ich diese spezifische Zeile bekommen.Wie würde ich das tun?

auch mehr voraus, wenn ich einen bestimmten Wert ändern wollte, sagen Sie den Betrag 51.51 in Konto 23. Wie erhalte ich diesen Wert und ersetzen Sie ihn mit einem neuen Wert?

bisher, ich liest einfach in Zeile nach Zeile

String-Linie; IFSTREAM ist ("Account.txt"); generasacodicetagpre.

War es hilfreich?

Lösung

Da jede Zeile variable Länge ist, gibt es keine Möglichkeit, eine bestimmte Zeile zu indexieren, ohne die gesamte Datei zu analysieren.

Ich vermute jedoch, dass Ihr Programm zufällige Zeilen und Spalten manipulieren möchte.Also würde ich beginnen, indem ich die gesamte Datei analysiert.Legen Sie jede Zeile in eine eigene Datenstruktur in ein Array ein, dann Index, diese Zeile in der Anordnung.

Sie können "Strtok" verwenden, um die Eingabe in Zeilen aufzuteilen, und dann erneut Strtok, um jede Zeile in Felder aufzuteilen.

Andere Tipps

Wenn ich dies tun würde, würde ich zunächst ein paar Funktionen schreiben, die die gesamte Datei analysieren und die Daten in einer entsprechenden Datenstruktur (z. B. ein Array oder STD :: MAP) speichern.Dann würde ich die Datenstruktur für die erforderlichen Operationen (z. B. Suchen oder Bearbeitung) verwenden.Schließlich würde ich die Datenstruktur in eine Datei zurück schreiben, wenn Änderungen vorliegen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top