länge von char Array[][]
-
Hi,
wie bekommt man die länge eines Strings in einem char Array heraus?
char Array[5][100] = { {"erstes Array"}, {"zweites Array ist etwas länger"}, /* and so on */ } /* mit strlen? */ length = strlen((const char *)Array[0][0])....
By the way: the einzelnen Elemente sind unterschiedlich lange, gibt es noch eine andere Möglichkeit die einzelnen Strings in einer "struct" zu verbinden?
Gruß
HansImGlück
-
der HansImGlück schrieb:
/* mit strlen? */ length = strlen(Array[0]);
-
Belli schrieb:
der HansImGlück schrieb:
/* mit strlen? */ length = strlen(Array[0]);
vielen Dank
-
huuuaaai!
der HansImGlück schrieb:
By the way: the einzelnen Elemente sind unterschiedlich lange, gibt es noch eine andere Möglichkeit die einzelnen Strings in einer "struct" zu verbinden?
Gruß
HansImGlückjoar! in ner verketteten liste.
gruß,
t.w.0.w.
-
By the way: the einzelnen Elemente sind unterschiedlich lange, gibt es noch eine andere Möglichkeit die einzelnen Strings in einer "struct" zu verbinden?
Es gibt immer viele Möglichkeiten, und manche passen sogar manchmal zum Problem.
Ist es dir wichtig, dass die Strings geordnet sind?
Wie flexibel willst das haben? Soll es billig sein, neue Strings dazuzugeben?
Oder soll es eher billig sein, Strings nachzuschlagen?
Oder billig, Strings zu entfernen?length = strlen((const char *)Array[0][0])
Das hast du recht gut überlegt, aber Array[0][0] ist das erste Zeichen im ersten String.
Von dem brauchst du noch die Adresse, die holst du mit &:length = strlen((const char *)&Array[0][0])
So sollte auch der Compiler nicht mehr über den Typkonflikt schimpfen.
(char* nach const char* zu casten sollte btw nicht nötig sein.).Weil ein Array wenig anderes ist, als ein Zeiger auf sein erstes Element, geht das auch kürzer, wie schon Belli gezeigt hat.