Mehrdimensionales char-Array
-
Ich würde gerne ein mehrdimensionales Char/String-Array erzeugen, kann mir das eber gerade schlecht vorstellen.
Es soll ein ein Array der Größe [n][m] werden, wobei jeder Position aber 10 Zeichen beeinhalten soll.
Idee, wie das geht?
-
char what_is_the_matrix[N][M][10];
-
Tim schrieb:
char what_is_the_matrix[N][M][10];
Danke! Und ansprechen dann mit
what_is_the_matrix[N][M]
?
-
for(i=0; i<10; i++) printf("%c ", what_is_the_matrix[N][M][i]);
-
Dachte eher an sowas:
strncopy(what_is_the_matrix[0][3],pLineToken[5],10);
pLineToken ist ein pointer auf einen char.
-
Korrekt.
-
sega schrieb:
strncopy(what_is_the_matrix[0][3],pLineToken[5],10);
Das kann gewaltig nach hinten los gehen.
-
Man muss halt aufpassen, dass pLineToken nicht länger als 9 Zeichen lang ist (+ '\0' -> 10). Ansonsten kann da eigentlich nix schief gehen.
-
Könnt ihr das präzisieren?
-
Wenn das Source-Argument von strncopy 10 Zeichen oder länger ist, so werden die ersten 10 Zeichen kopiert.
Die Zeichenketten sind nur 10 byte groß - also kein Platz mehr für die terminierende Null. Die wird von strncpy auch nur geschrieben, wenn das Source-Argument kleiner als das Size-Argument ist.