Text in char matrix
-
hallo,
wie bekomme ich einen text in eine matrix?
char text[5][8]; *text[0]="hallo"; *text[1]="test"; ...so gehts nicht

und so ist mir zu aufwändig
char text[5][8]; text[0][0]='h'; text[0][1]='a'; text[0][2]='l'; ...hab ich bei der ersten variente irgend nen zeiger problem?!?
danke schonmal
-
strcpy_s(text[0], 5, "test");
-
Oder strncpy, strcpy_s ist MS-spezifisch.
-
std::vector< std::string > ?
-
Natürlich sollte man vector<string> vorziehen, falls möglich. Nichtsdestotrotz sollten die Basics sitzen:
wiegeht schrieb:
char text[5][8];Diese Definition kannst Du "von innen nach außen" lesen:
textist ein Array von 5 Arrays von 8 Zeichen.wiegeht schrieb:
*text[0]="hallo";
*text[1]="test";
so gehts nichtIst auch gut so; denn text[0] und text[1] beziehen sich jeweils auf ein Array von 8 Zeichen (keine Zeiger).
std::strncpyaus<cstring>kann Dir hier helfen, wie schon erwähnt wurde. Allerdings musst Du bei der Nullterminierung aufpassen. Dein Array sollte vorher mit Nullen gefüllt werden und der 3. Parameter für strncpy sollte 7 nicht überschreiten, damit immer noch eine Nullterminierung erhalten bleibt.Gruß,
SP
-
Am besten gleich mit Initialisierung:
const char *text[5] = { "Hallo", "Test", "A", "B", "C" };Sofern du nachher nur lesend darauf zugreifst.