010
27.06.2004, 20:24 Uhr
0xdeadbeef
Gott (Operator)
|
Wenn du ein Leerzeichen in der Zeile hast, kommst du mit cDialogOptions >> dialog_options_text[i3]; nicht weit.
Ich würde die Datei maschinenlesbarer aufbauen, in diesem Fall wahrscheinlich so:
Code: |
1 2 4 1 Hallo, Welt! 2 3 1 0 Tschüß
|
und es nachher so auslesen:
C++: |
while(cDialogOptions) { cDialogOptions >> id_dialog_options[i3] >> id_color[i3] >> id_dialog_option_start[i3] >> active_nr3[i3]; getline(cDialogOptions, dialog_options_text[i3]; ++i3; }
|
sowas in der Art.
In anderen Fällen kann es sinnvoll sein, ein Trennzeichen (z.B. |) einzuführen und den Kram damit zu trennen, oder eines der gängigen Config-File-Formate wie INI zu nehmen. Kommt ganz drauf an, was der Parser machen soll. In komplizierteren Fällen würde ich auch auf externe Bibliotheken wie boost::spirit zurück greifen.
Oh, und ich würde die zusammengehörigen Werte in eine Klasse kapseln, das macht das handling nachher einfacher. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra Dieser Post wurde am 27.06.2004 um 20:25 Uhr von 0xdeadbeef editiert. |