Skip to content

Latest commit

 

History

History
71 lines (49 loc) · 1.86 KB

File metadata and controls

71 lines (49 loc) · 1.86 KB

strrchr

  • cstring[meta header]
  • std[meta namespace]
  • function[meta id-type]
namespace std {
  const char* strrchr(const char* s, int c); // (1)
  char* strrchr(char* s, int c);             // (2)
}

概要

文字列から文字を後ろから検索する。

  • (1) : 引数sconst修飾されている場合に、const修飾を保持して結果を返すオーバーロード。
  • (2) : 引数sconst修飾されていない場合に、非constのポインタを返すオーバーロード。

効果

sが指す文字列から、charに変換した文字cが最後に現れる位置を検索する。終端のヌル文字も文字列の一部として検索対象に含まれる。

戻り値

見つかった場合、その位置を指すポインタを返す。見つからなかった場合、ヌルポインタを返す。

  • (1) : const char*を返す。
  • (2) : char*を返す。

備考

  • この関数は、フリースタンディング処理系でも使用できる。
  • C言語のstrrchrchar*を返す単一の関数だが、C++ではconst修飾を保持するために2つのオーバーロードが提供される。

#include <cstring>
#include <iostream>

int main()
{
  const char s[] = "hello";

  // 最後に現れる'l'を検索する
  const char* p = std::strrchr(s, 'l');

  std::cout << (p != nullptr ? p - s : -1) << std::endl;
}
  • std::strrchr[color ff0000]

出力

3

バージョン

言語

  • C++98

関連項目

  • strchr: 文字を検索する
  • strstr: 文字列を検索する

参照