Hey bräuchte mal Hilfe mit meinem Code :)
-
string var1;
string counter = "var1";
string code = "Ich will in var1";
counter = code; // So hier ist mein Problem... Er packt den Inhalt von "code" in "counter" rein...
Aber was ich machen will ist das er den Inhalt von counter nimmt der wäre ja dann "var1" und dann den "code" in die Variable "var1" schreibt, sprich als würde man das so schreiben:var1 = code;
Nur anstatt var1 soll halt counter stehen da ich mehrere Strings befüllen will mit einer Schleife die "var1" dann auf "var2" macht ... das klappt alles nur das "automatische einfügen" so wie oben beschrieben funktioniert so nicht. Habt ihr da vielleicht irgendwas anderes oder so :/.
Ich hoffe ihr habt mich verstanden was ich ausdrücken wollte xD

mfG subrim

[code="cpp"]
-
Wir haben verstanden was du meinst. Deine Frage zeigt jedoch was für ein falsches Verständnis der Sprache du momentan haben musst. Den sinnvollsten Tipp den ich dir geben kann ist dir schnellstmöglich ein gutes Grundlagenbuch zu besorgen und dich einzuarbeiten.
-
Ich hab schon bücher die ich schon fast durchhabe ... nur mann muss es irgendwie anders machen können ich komm gerade nur nicht drauf

-
if ( counter == "var1") var1 = code;Kannst du ja noch etwas aufhübschen mit einer Liste, die die Namen und Bezeichner enthält.
Oder du nimmst eine andere Sprache.
-
Danke aber, das wäre viel zu viel Schreibarbeit da ich sonst die Komplette Ascci-Tabelle in so eine If Schleife schreiben müsste, ich wollte halt den Code so kurz wie möglich halten.
-
Ich rate einfach mal, dass Du ein Array willst.
-
Damit hab ich erst als erstes "Probiert", das Problem war das wenn er das Array befüllt hat, und dann das zweite wurde das erste wieder gelöscht
ich guck mir das nochmal an!
-
Dein Versuch zeigen sehr deutlich das du deine Bücher nicht oder falsch gelesen hast, C++ KANN und WILL das was du möchtest so nicht leisten (geht zu PHP wenn du das genau so brauchst)
Beschreibe deine Anforderung - völlig losgelöst von der Programmiersprache
dann kann hier jemand problemlos eine C++-Lösung dazu liefern
-
Man, ich musste gerade auf der Arbeit laut auflachen, als ich gesehen habe, wie am Ende des OP einfach ein öffnender Code-Tag steht.
Ich weiß nicht wieso, aber ich finde das urkomisch

Was für ein Buch liest du denn, subrim?
-
hehe hab mich verklickt xD ... ich weiß jetzt auch das das dumm und eine falsche anwendung war, ich mach das jetzt "anders" ...
Ich lese gerade momentan das Buch von Ulrich Breymann 3.Auflage "Der Programmierer"
Trotzdem danke für jede Hilfe!
-
Variablennamen existieren nur zur Übersetzungszeit zur Orientierung für den Compiler. Im fertig kompilierten und ausgeführten Programm gibt es keine Variablennamen mehr, weswegen klar sein dürfte, warum das in der Form nicht gehen kann.
Stattdessen nimmt man in so einer Situation (auch wenn natürlich nicht ganz klar ist, was du wirklich machen willst) std::map.
std::map<std::string,std::string> dic; std::string key="var1"; dic[key]="ich will in var1";Wenn der Eintrag für in der map noch nicht existierte, wird er beim Aufruf von operator[] angelegt.
Wenn du aber jetzt vor hast, deine keys durchzunummerieren, kannst du auch gleich std::vector nehmen.
-
Variablennamen existieren nur zur Übersetzungszeit zur Orientierung für den Compiler.
Zur Orientierung des Menschen, meinst du?
-
void emilia() { lange = eing.length(); //Länge des Strings wird ermittelt srand(time(NULL)); for(int counter = 1; counter <= lange; counter++) //Wird so lange ausgeführt wie Zeichen existieren im String. { while(counter4 < 126) //Wird so lange ausgeführt wie viele Ascci Zeichen überprüft werden { zwsp = eing.substr(counter2, 1); zwsp22 = zwsp2.substr(counter3, 1); if(counter2 == lange) { cout << sray[34] << endl; cout << sray[33] << endl; } else if(zwsp == zwsp22) { cout << zwsp << " " << zwsp22 << endl; for(int counterr = 0; counterr < 10; counterr++) { random = rand() % 9 + 1; // Erstellt eine Random Zahl. ostringstream convert; convert << random; codespeicher = convert.str(); hauptspeicher += codespeicher; } counter2++; sray[counter4] = hauptspeicher; counter4 = 32; counter3 = 0; codespeicher.erase(); hauptspeicher.erase(); } else if(zwsp != zwsp22) { counter3++; } counter4++; } } }