Namensräume
Varianten
Aktionen

strcspn

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

Gibt die Länge des längsten Anfangssegments der nullterminierten Byte-Zeichenkette, auf die dest zeigt, zurück, das nur Zeichen enthält, die nicht in der nullterminierten Byte-Zeichenkette, auf die src zeigt, gefunden werden.

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

Inhalt

[edit] Parameter

dest - Zeiger auf den nullterminierten Byte-String, der analysiert werden soll
src - Zeiger auf die nullterminierte Byte-Zeichenkette, die die zu suchenden Zeichen enthält

[edit] Rückgabewert

Die Länge des längsten Anfangssegments, das nur Zeichen enthält, die nicht in der nullterminierten Byte-Zeichenkette, auf die src zeigt, gefunden werden.

[edit] Hinweise

Der Funktionsname steht für "komplementäres Segment" (complementary span), da die Funktion nach Zeichen sucht, die nicht in src gefunden werden, also dem Komplement von src.

[edit] 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

[edit] Referenzen

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

[edit] Siehe auch

gibt die Länge des maximalen Anfangssegments zurück, das
nur aus den Zeichen besteht, die in einem anderen Byte-String vorkommen
(Funktion) [bearbeiten]
gibt die Länge des maximalen Anfangssegments zurück, das
nur von den Wide-Zeichen, die *nicht* in einem anderen Wide-String gefunden werden
(Funktion) [bearbeiten]
findet die erste Position eines beliebigen Zeichens aus einem String in einem anderen String
(Funktion) [bearbeiten]
C++ Dokumentation für strcspn