Namespaces
Variants

strcspn

From cppreference.net
< c ‎ | string ‎ | byte
Definiert in Header <string.h>
size_t strcspn ( const char * dest, const char * src ) ;

Gibt die Länge des maximalen Anfangssegments der nullterminierten Byte-Zeichenkette zurück, auf die dest zeigt, das ausschließlich aus Zeichen besteht, die nicht in der nullterminierten Byte-Zeichenkette vorkommen, auf die src zeigt.

Das Verhalten ist undefiniert, falls entweder dest oder src kein Zeiger auf eine nullterminierte Byte-Zeichenkette ist.

Inhaltsverzeichnis

Parameter

dest - Zeiger auf die zu analysierende nullterminierte Byte-Zeichenkette
src - Zeiger auf die nullterminierte Byte-Zeichenkette, die die zu suchenden Zeichen enthält

Rückgabewert

Die Länge des maximalen Anfangssegments, das nur Zeichen enthält, die nicht in der nullterminierten Byte-Zeichenkette vorkommen, auf die src zeigt

Hinweise

Der Funktionsname steht für "komplementäre Spanne", da die Funktion nach Zeichen sucht, die nicht in src gefunden werden, also dem Komplement von src entsprechen.

Beispiel

#include <string.h>
#include <stdio.h>
int main(void)
{
    const char *string = "abcde312$#@";
    const char *invalid = "*$#";
    size_t valid_len = strcspn(string, invalid);
    if(valid_len != strlen(string))
       printf("'%s' contains invalid chars starting at position %zu\n",
               string, valid_len);
}

Ausgabe:

'abcde312$#@' contains invalid chars starting at position 8

Referenzen

  • C11-Standard (ISO/IEC 9899:2011):
  • 7.24.5.3 Die strcspn-Funktion (S: 368)
  • C99-Standard (ISO/IEC 9899:1999):
  • 7.21.5.3 Die strcspn-Funktion (S: 331)
  • C89/C90-Standard (ISO/IEC 9899:1990):
  • 4.11.5.3 Die strcspn-Funktion

Siehe auch

gibt die Länge des maximalen Anfangssegments zurück, das nur aus
Zeichen besteht, die in einer anderen Byte-Zeichenkette gefunden wurden
(Funktion)
(C95)
gibt die Länge des maximalen Anfangssegments zurück, das nur aus
Wide Characters besteht, die nicht in einer anderen Wide-String gefunden wurden
(Funktion)
findet die erste Position eines beliebigen Zeichens aus einer Zeichenkette in einer anderen Zeichenkette
(Funktion)
C++-Dokumentation für strcspn