Suchen Sie nach bestimmten Zeilen-C ++ - Tab
-
12-12-2019 - |
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.
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.