Variablen deklarieren, die in einer Textdatei stehen

Mahatmas

Mitglied
Hallo zusammen,

ich habe ein Problem mit einer Textdatei. In dieser Textdatei werden Variablen benannt. Aber auch Rechnungen sind enthalten.
z.B.
&Var=12 &i=1 &text=hallo
&usw=88
&12/3 &2*Var
Immer durch "tab" oder "return" getrennt. Das "&" ist nur, um zu erkennen, dass es sich um eine Rechnnung bzw. Variablenzuweisung handelt.

Das Einlesen ist soweit kein Problem. Mein Compiler gibt mir auch bei den Rechnungen ohne Variablen schon das richtige Ergebnis raus. Jedoch mit Variablen hab ich jetzt meine Probleme.

Und zwar liegt das Problem an der Zuweisung der Variablen mit ihrem zugehörigen Wert. Ich hab in einem Array die Variablen stehen. Und in einem anderen die Werte. Wie kann ich die nun miteinander "verbinden", dass wenn ich mit "Var" rechnen will, er auch die "12" nimmt. Glaub nicht, dass das Einlesen in zwei getrennte Felder so glücklich gewählt ist.

Zusammenfassend:

Wie kann ich Variablenzuweisungen in einer Textdatei geschickt einlesen und nutzen?

Hoff da gibt es eine einfache Lösung. Bin jeder Antwort/Code-Schnipsel sehr dankbar.

Gruß,

Mahatmas
 
Dann versuch es dochmal mit einer Map. Die stellt einen Assoziativspeicher da. Das heißt man hat einen Schlüssel beliebigen Typs und hinter diesem Schlüssel verbirgt sich dann der entsprechende Wert:
C++:
#include <map>
#include <string>
#include <iostream>

using namespace std;

int main()
{
    map<string, int> vars;
    vars["Var"] = 12;
    vars["usw"] = 88;
    cout << vars["Var"] << endl;
}

Gruß,
RedWing
 
Funktioniert soweit, mit der Zuweisung.

Warum gibt mir aber mein Compiler (Microsoft Visual C++ 6.0) 72 Warnungen raus, die alle folgendermaßen aussehen:
Code:
d:\programme\microsoft visual studio\vc98\include\xtree(536) : warning C4786: 'std::_Tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,int>
,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<int> >::_Kfn,std::less<std::basic_string<char,std::char_traits<char>,s
td::allocator<char> > >,std::allocator<int> >::_Lrotate' : identifier was truncated to '255' characters in the debug information

Aber jetzt hab ich immer noch das Problem, dass wenn ich in meinem Textfile "Var" benutzen möchte, er immer noch nicht den Wert "12" benutzt, zum Rechnen. Muss ich da irgendwie den Stringteil aus dem File mit meiner map vergleichen, ob eine Variable dafür angelegt worden ist? Oder wie könnte man das denn sonst realisieren? Steh grad auf der Leitung und hab mit maps auch noch nie gearbeitet.

Gruß,
Mahatmas
 

Neue Beiträge

Zurück