◐ Shell
clean mode source ↗

std::strcspn - cppreference.com

提供: cppreference.com

<tbody> </tbody>

size_t strcspn( const char *dest, const char *src );

src の指すバイト文字列内に含まれない文字のみで構成される、 dest の指すバイト文字列の最も長い先頭部分の長さを返します。

関数名の由来は「complementary span」です。

引数

dest - 解析するヌル終端文字列を指すポインタ
src - 検索する文字を含むヌル終端バイト文字列を指すポインタ

戻り値

src の指すバイト文字列内にない文字のみを含む最も長い先頭部分の長さ。

#include <string>
#include <cstring>
#include <iostream>

const char* invalid = "*$#";
int main()
{
    std::string s = "abcde312$#@";

    size_t valid_len = std::strcspn(s.c_str(), invalid);
    if(valid_len != s.size())
       std::cout << "'" << s << "' contains invalid chars starting at position "
                 << valid_len << '\n';
}

出力:

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

関連項目