Int String länge bestimmen

Gast #2032803
Lesenswert?
• ▲
▼
Guten Abend,

ich programmiere momentan in C ein kleines Programm.

Nun habe ich das Problem, dass ich die Länge eines String bestimmen 
möchte.
Mein Code sieht so aus:

uint16_t fkt1[] = {11,12,45,1111,141,1616};

uint16_t laenge;

laenge = strlen(fkt1);


da die Anzahl der Strings in fkt1 immer unterschiedlich sein kann würde 
ich gerne die Länge mit strlen bestimmen.

Die Funktion strlen benötigt aber einen char string weswegen ich immer 
eine Warnung erhalte und er mir die Richtige länge nicht bestimmt.

Gibt es dafür eine Lösung oder andere Funktion?

Für eine Lösung wäre ich sehr Dankbar


Grüße
Christian
Gast #2032812
Lesenswert?
• ▲
▼
Wenn nicht JEDER String, egal wie lang er ist und was drin steht, mit 
demselben Zeichen abgeschlossen wird (wie es bei char strings bsw. das 
"\0" ist) ist es nicht möglich im Nachhinein die Länge zu bestimmen.
Moderator #2032819
Lesenswert?
• ▲
▼
> Nun habe ich das Problem, dass ich die Länge eines String bestimmen
> möchte.

fkt1 ist kein String, sondern ein Array.

> da die Anzahl der Strings in fkt1 immer unterschiedlich sein kann
> würde ich gerne die Länge mit strlen bestimmen.

Auch die Elemente von fkt1 sind keine Strings, sondern Zahlenwerte vom
Typ uint16_t. Die Anzahl der Elemente ändert sich auch nicht.

Ich nehme an, du möchtest die (konstante) Anzahl der Elemente eines
Arrays bestimmen. Das geht bspw. mit
1
  laenge = sizeof fkt1 / sizeof fkt[0];

Dabei wird die Größe (in Bytes) des gesamten Arrays dividiert durch die
Größe eines einzelnen Elements. In deinem Beispiel sollte dies 6
ergeben.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.