• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    function
    <string>

    std::char_traits::find

    static const char_type* find(const char_type* s,
                                 std::size_t n,
                                 const char_type& a);           // C++14まで
    static constexpr const char_type* find(const char_type* s,
                                           std::size_t n,
                                           const char_type& a); // C++17から
    

    概要

    文字列中から特定の値を検索する。

    戻り値

    範囲[s, s+n)の各ポインタpについて、eq(*p, a) == trueとなるpを返す。該当しない場合はnullptrを返す。

    計算量

    線形時間

    #include <iostream>
    #include <string>
    
    int main()
    {
      const std::size_t n = 5 + 1;
      const char s[n] = "abcde";
    
      // 'c'を検索する
      const char* result = std::char_traits<char>::find(s, n, 'c');
      if (result) {
        // 見つかった
        std::cout << *result << std::endl;
      }
      else {
        // 見つからなかった
        std::cout << "not found" << std::endl;
      }
    }
    

    出力

    c
    

    参照