Namensräume
Varianten
Aktionen

std::strcspn

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

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

Der Funktionsname steht für "komplementärer Bereich" (complementary span).

Inhalt

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

[bearbeiten] Rückgabewert

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

[bearbeiten] Beispiel

#include <cstddef>
#include <cstring>
#include <iomanip>
#include <iostream>
#include <string>
 
int main()
{
    std::string s = "abcde312$#@";
    const char* invalid = "*$#";
 
    const std::size_t valid_len = std::strcspn(s.c_str(), invalid);
    if (valid_len != s.size())
    {
        std::cout << std::quoted(s)
                  << " contains invalid chars starting at position "
                  << valid_len << '\n'
                  << std::string(valid_len + 1, '-') << "^\n";
    }
}

Ausgabe

"abcde312$#@" contains invalid chars starting at position 8
---------^

[bearbeiten] 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 breiten Zeichen, die nicht in einer anderen breiten Zeichenkette gefunden wurden
(Funktion) [bearbeiten]
findet die erste Stelle eines beliebigen Zeichens aus einer Menge von Trennzeichen
(Funktion) [bearbeiten]
findet das erste Vorkommen von Zeichen
(öffentliche Memberfunktion von std::basic_string<CharT,Traits,Allocator>) [bearbeiten]
C-Dokumentation für strcspn