最終更新日時(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

参照