Problem mit char[] und char-Arrays
-
Hallo,
Ich würde gerne einer char[]-Variablen einen Text aus einem Element einem Feld von char[] Variablen zuordnen.
char *typen [] = {"Boeing 717","Boeing 727","Boeing 737","Boeing 747", "Boeing 757","Boeing 767","Boeing 777","Boeing 787", "Airbus A300","Airbus A310","Airbus A320","Airbus A330", "Airbus A340","Airbus A380","Cessna Skyhawk" }; char typ[] = "Boeing 737 (Standard)";und später:
typ[] = typen[opts];, wobei opts eine Variable in int ist, die mit einem Wert( z.B. 2 ) belegt ist.
Ich bekomme die Fehlermeldung:
expected primary-expression before ']' tokenKann mir da jemand helfen ???
vielen Dank schon mal im voraus
Tim
-
Du kannst Arrays nicht zuweisen. Das naheliegende ist, die Variable
typals Zeiger aufconst charzu deklarieren. Aber dann musst du sehr aufpassen, dass du nur lesend zugreifst...Du hast auch alle die Probleme nicht, wenn du
std::vectormitstd::stringverwendest.
-
Nexus schrieb:
Du hast auch alle die Probleme nicht, wenn du
std::vectormitstd::stringverwendest.kannst du mir mal ein konkretes beispiel geben, wie ich diese verwende ?
Alsostd::stringkenn ich ja schon, aberstd::vector...
-
#include <vector> #include <string> typedef std::vector<std::string> StringCollection; int main() { StringCollection coll; coll.push_back("test1"); coll.push_back("test2"); const std::string& s1 = coll[0]; const std::string& s2 = coll[1]; }Simon
-
Um tiefergehendes Verständnis der Standard Template Libary (dazu gehört
std::vector) zu erhalten, kannst du ja mal diesen Artikel anschauen.
-
Ich habs mir jetzt einfacher gemacht:
Ich nehm jetzt einfach überall, wo ichs brauch, typen[opts] statt typ.
Danke trotzdem für die Hilfe !
-
Warum nicht gleich
std::string? Das ist wohl das Einfachste.