"iwas" += intwert --> Name eines Strings
-
Hallo,
ich möchte das der Benutzer eine Zahl eingibt (z.B. 1,2,3,4,5...).
Also habe ich einen Int-Wert.
Nun soll ein String der z.B. String1(2,3,4,5,6,7,8,9) heißt ausgegeben werden.
Meine Idee:"String" + die jeweilige Zahl ergibt den Namen des Strings der ausgeben wird.
Ich hatte zuerst das hier:
switch(Int-Wert){ case 1: cout << String1 << endl; break; case 2: cout << String2 << endl; break; case 3: cout << String3 << endl; break; }ich finde das allerdings bei der Menge an Strings die Ich habe ziemlich umständlich. Deshalb suche ich nach einer anderen Möglichkeit.
mfg
Summernoon
-
Arrays

string Strings[3] = { "Hallo", "Schöne", "Welt" }; cout << Strings[IntWert] << endl;
-
Doppelpost, Link http://www.c-plusplus.net/forum/viewtopic-var-p-is-1528504.html
-
Danke für die schnelle Antwort,funktioniert einwandfrei.
Ist es schlecht wenn ich viel (mehrere Texte!) in ein Array schreibe ?
Also ist das vielleicht zuviel für ein Array ?Nebenbei: Was bedeutet diese Fehlermeldung:
Warnung 1 warning LNK4199: /DELAYLOAD:OleAcc.dll wird ignoriert; keine Importe von OleAcc.dll gefunden.mfg
Summernoon
-
Kommt drauf an, ich glaube irgendwo bei nem halben bis ganzen Megabyte ist die Grenze überschritten
Das kommt daher, dass solche "normalen" Arrays auf dem Stack abgelegt werden. Wenn du dynamische Datenstrukturen wie den std::vector benutzt, kannst du soviel Zeug reinhauen, bis dein Arbeitsspeicher voll ist (und dank Paging noch darüber hinaus).#include <vector> ... vector<string> Strings; Strings.push_back( "Hallo" ); // String einfügen Strings.push_back( "Welt" ); cout << Strings[1] << endl; // Zugriff wie bei Arrays Strings[0] = "alslkasdm"; Strings.clear(); // Und leeren cout << Strings.size() << endl; // Die Anzahl der strings in dem Container ausgeben (sollte jetzt 0 sein) usw.. http://www.cplusplus.com/reference/stl/vector/