strrchr、wcsrchr、_mbsrchr、_mbsrchr_lstrrchr, wcsrchr, _mbsrchr, _mbsrchr_l

文字列をスキャンして最後に出現する文字を検索します。Scans a string for the last occurrence of a character.

重要

_mbsrchr および _mbsrchr_l は、Windows ランタイムで実行するアプリケーションでは使用できません。_mbsrchr and _mbsrchr_l cannot be used in applications that execute in the Windows Runtime. 詳細については、「ユニバーサル Windows プラットフォーム アプリでサポートされていない CRT 関数」を参照してください。For more information, see CRT functions not supported in Universal Windows Platform apps.

構文Syntax

char *strrchr(
   const char *str,
   int c
); // C only
char *strrchr(
   char *str,
   int c
); // C++ only
const char *strrchr(
   const char *str,
   int c
); // C++ only
wchar_t *wcsrchr(
   const wchar_t *str,
   wchar_t c
); // C only
wchar_t *wcsrchr(
   wchar_t *str,
   wchar_t c
); // C++ only
const wchar_t *wcsrchr(
   const wchar_t *str,
   wchar_t c
); // C++ only
unsigned char *_mbsrchr(
   const unsigned char *str,
   unsigned int c
); // C only
unsigned char *_mbsrchr(
   unsigned char *str,
   unsigned int c
); // C++ only
const unsigned char *_mbsrchr(
   const unsigned char *str,
   unsigned int c
); // C++ only
unsigned char *_mbsrchr_l(
   const unsigned char *str,
   unsigned int c,
   _locale_t locale
); // C only
unsigned char *_mbsrchr_l(
   unsigned char *str,
   unsigned int c,
   _locale_t locale
); // C++ only
const unsigned char *_mbsrchr_l(
   const unsigned char *str,
   unsigned int c,
   _locale_t locale
); // C++ only

パラメーターParameters

strstr
NULL で終わる検索対象の文字列。Null-terminated string to search.

cc
検索する文字。Character to be located.

localelocale
使用するロケール。Locale to use.

戻り値Return Value

最後に見つかったにポインターを返しますcstr場合は、NULL またはcが見つかりません。Returns a pointer to the last occurrence of c in str, or NULL if c is not found.

RemarksRemarks

strrchr関数検索の最後に見つかったc (に変換char) でstrします。The strrchr function finds the last occurrence of c (converted to char) in str. 検索には、終端の null 文字が含まれます。The search includes the terminating null character.

wcsrchr 関数と _mbsrchr 関数は、 strrchr関数のワイド文字バージョンとマルチバイト文字バージョンです。wcsrchr and _mbsrchr are wide-character and multibyte-character versions of strrchr. wcsrchr 関数の引数と戻り値はワイド文字列で、_mbsrchr 関数の引数と戻り値はマルチバイト文字列です。The arguments and return value of wcsrchr are wide-character strings; those of _mbsrchr are multibyte-character strings.

C では、これらの関数の実行、 const最初の引数のポインター。In C, these functions take a const pointer for the first argument. C++ では、2 つのオーバーロードを使用できます。In C++, two overloads are available. ポインターを受け取るオーバー ロードconstへのポインターを返しますconst; へのポインターを受け取る非バージョンconstへのポインターを返す非定数.The overload taking a pointer to const returns a pointer to const; the version that takes a pointer to non-const returns a pointer to non-const. マクロ _CRT_CONST_CORRECT_OVERLOADS が定義されている場合は、両方のconstと非-constこれらの関数のバージョンを利用できます。The macro _CRT_CONST_CORRECT_OVERLOADS is defined if both the const and non-const versions of these functions are available. 必要な以外の場合const両方の動作C++オーバー ロードは、シンボル _CONST_RETURN を定義します。If you require the non-const behavior for both C++ overloads, define the symbol _CONST_RETURN.

_mbsrchr はそのパラメーターを検証します。_mbsrchr validates its parameters. 場合strが null の場合、無効なパラメーター ハンドラーが呼び出される」の説明に従ってパラメーターの検証If str is NULL, the invalid parameter handler is invoked, as described in Parameter Validation. 続けるには、実行が許可された場合errnoEINVAL に設定されていると_mbsrchr0 を返します。If execution is allowed to continue, errno is set to EINVAL and _mbsrchr returns 0. strrchr および wcsrchr は、パラメーターを検証しません。strrchr and wcsrchr do not validate their parameters. それ以外では、これらの関数の動作は同じです。These three functions behave identically otherwise.

出力値は、ロケールの LC_CTYPE カテゴリの設定の設定の影響を受ける詳細については、次を参照してください。 setlocaleします。The output value is affected by the setting of the LC_CTYPE category setting of the locale; for more information, see setlocale. _l サフィックスが付いていないこれらの関数のバージョンでは、このロケールに依存する動作に現在のロケールを使用します。_l サフィックスが付いているバージョンは、渡されたロケール パラメーターを代わりに使用する点を除いて同じです。The versions of these functions without the _l suffix use the current locale for this locale-dependent behavior; the versions with the _l suffix are identical except that they use the locale parameter passed in instead. 詳細については、「 Locale」を参照してください。For more information, see Locale.

汎用テキスト ルーチンのマップGeneric-Text Routine Mappings

TCHAR.H のルーチンTCHAR.H routine _UNICODE および _MBCS が未定義の場合_UNICODE & _MBCS not defined _MBCS が定義されている場合_MBCS defined _UNICODE が定義されている場合_UNICODE defined
_tcsrchr strrchr _mbsrchr wcsrchr
該当なしn/a 該当なしn/a _mbsrchr_l 該当なしn/a

必要条件Requirements

ルーチンによって返される値Routine 必須ヘッダーRequired header
strrchr <string.h><string.h>
wcsrchr <string.h> または <wchar.h><string.h> or <wchar.h>
_mbsrchr, _mbsrchr_l_mbsrchr, _mbsrchr_l <mbstring.h><mbstring.h>

互換性の詳細については、「 互換性」を参照してください。For more information about compatibility, see Compatibility.

Example

strrchr の使用例については、「strchr」を参照してください。For an example of using strrchr, see strchr.

関連項目See also

文字列操作String Manipulation
ロケールLocale
マルチバイト文字のシーケンスの解釈Interpretation of Multibyte-Character Sequences
strchr、wcschr、_mbschr、_mbschr_lstrchr, wcschr, _mbschr, _mbschr_l
strcspn、wcscspn、_mbscspn、_mbscspn_lstrcspn, wcscspn, _mbscspn, _mbscspn_l
_strnicmp、_wcsnicmp、_mbsnicmp、_strnicmp_l、_wcsnicmp_l、_mbsnicmp_l_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l
strpbrk、wcspbrk、_mbspbrk、_mbspbrk_lstrpbrk, wcspbrk, _mbspbrk, _mbspbrk_l
strspn、wcsspn、_mbsspn、_mbsspn_lstrspn, wcsspn, _mbsspn, _mbsspn_l