Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

strlen - Länge einer Zeichenkette ermitteln

&pagelevel(4)&pagelevel

Definition

#include <string.h>

size_t strlen(const char *s);

strlen bestimmt die Länge der Zeichenkette s, das abschließende Nullbyte (\0) ausgeschlossen.

Während der sizeof-Operator immer die definierte Länge liefert, berechnet strlen die aktuelle Anzahl von Zeichen in einer Zeichenkette. Ein Neue-Zeile-Zeichen (\n) wird mitgezählt.

Returnwert

Länge der Zeichenkette s.

Das abschließende Nullbyte wird nicht mitgezählt.

Hinweis

Als Argument wird eine Zeichenkette erwartet, die mit dem Nullbyte (\0) abgeschlossen ist.

Beispiel 1

Dieses Programm liest eine Zeichenkette ein und berechnet ihren aktuellen Speicherplatzbedarf unter Berücksichtigung des Nullbytes (strlen + 1) sowie ihre definierte Länge (sizeof(s) = 8192 Bytes).

#include <stdio.h>
#include <string.h>
int main(void)
{
  char s[BUFSIZ];
  printf("Geben Sie bitte Ihre Zeichenkette ein.\n");
  scanf("%s", s);
  printf("Benoetigter Speicherplatz f. die Zeichenkette: %d\n", strlen(s)+1);
  printf("Definierter Speicherplatz f. die Zeichenkette: %d\n", sizeof(s));
  return 0;
}

Beispiel 2

Dieses Programm berechnet jeweils die aktuelle Satzlänge einer Datei (das Neue-Zeile-Zeichen ’\n’ mit eingeschlossen).

#include <stdio.h>
#include <string.h>
int main(void)
{
  FILE *fp;
  int n = 200, z = 0;
  char string[BUFSIZ];
  fp = fopen("input", "r");
  while (fgets(string, n, fp) != NULL)
  {
    z++;
    printf("der %d. Satz enthaelt %d Zeichen \n", z, strlen(string));
  }
  return 0;
}