Frage zur Arraydeklaration
-
Hallo! Ich bekomm das gerade irgendwie nicht hin, ich habe folgende Arrays:
const char *Sprache_1[] = { string_0, string_1, string_2, string_3, string_4, string_5 }; // Sprache_2 usw.Jetzt möchte ich über einen Index "languageID" (0: Sprache 1, 1=Sprache 2 usw) jeweils den richtigen String rausfischen:
const char* langText[][2] = { *Sprache_1, *Sprache_2 };Ist das soweit überhaupt richtig?
Mein Zugriff sieht momentan so aus und liefert nichts zurück
langText[languageID][stringID]
-
Um diese Auslesungssyntax zu erreichen kann man auch folgendes machen:
#include <vector> #include <string> std::vector<std::vector<std::string> > Sprachensammlung; Sprachensammlung.resize(AnzahlSprachen); Sprachensammlung[0].resize(WorteDerErstenSprache); Sprachensammlung[0][0] = "Erstes Wort der ersten Sprache";Praktischer Einsatz:
#include <vector> #include <string> std::vector<std::vector<std::string> > Languages; enum LanguageCode { lcEnglish = 0, lcGerman = 1, lcCount = 2 }; Languages.resize(lcCount); Languages[lcEnglish].push_back("house"); Languages[lcGerman].push_back("haus");
-
EOutOfResources schrieb:
Um diese Auslesungssyntax zu erreichen kann man auch folgendes machen:
#include <vector> #include <string> std::vector<std::vector<std::string> > Sprachensammlung; Sprachensammlung.resize(AnzahlSprachen); Sprachensammlung[0].resize(WorteDerErstenSprache); Sprachensammlung[0][0] = "Erstes Wort der ersten Sprache";Das muss aber leider wie im Eingangspost gelöst werden, da ich auf einem System arbeite, wo mir die C++-Bibliothek mit Vektoren usw. nicht zur Verfügung steht

-
durcheinander schrieb:
Das muss aber leider wie im Eingangspost gelöst werden, da ich auf einem System arbeite, wo mir die C++-Bibliothek mit Vektoren usw. nicht zur Verfügung steht

Wo ist das? Die STD ist ja dafür geschaffen worden, überall eingesetzt werden zu dürfen.
-
EOutOfResources schrieb:
durcheinander schrieb:
Das muss aber leider wie im Eingangspost gelöst werden, da ich auf einem System arbeite, wo mir die C++-Bibliothek mit Vektoren usw. nicht zur Verfügung steht

Wo ist das? Die STD ist ja dafür geschaffen worden, überall eingesetzt werden zu dürfen.
auf einem Mikrocontroller

-
So:
typedef const char* String; typedef String* Wordlist; String WordsLang01[WordCntLang01]; String WordsLang02[WordCntLang02]; Wordlist Languages[] = { WordsLang01, WordsLang02 };Praktischer Einsatz:
typedef const char* String; typedef String* Wordlist; String English[] = { "hello", "house" }; String German[] = { "hallo", "haus" }; Wordlist Languages[] = { English, German }; Languages[0][0] = "apple" Languages[1][0] = "apfel"
-
const char* deutsch[]= { "Hallo Welt", "Handy", "Beamer", "Old Timer", "Smoking" }; const char* english[]= { "Hello world", "mobile", "projector", "vintage car", "tuxedo" }; const char **sprachen[2]= { deutsch, english };Zugegeben: EOutOfResources Lösung ist viel schöner
, aber dafür zeigt dir meine, wo dein Fehler war.
-
Ich danke euch beiden
