strrchr
From cppreference.net
|
ヘッダーで定義
<string.h>
|
||
|
char
*
strrchr
(
const
char
*
str,
int
ch
)
;
|
(1) | |
|
/*QChar*/
*
strrchr
(
/*QChar*/
*
str,
int
ch
)
;
|
(2) | (C23以降) |
1)
ヌル終端バイト文字列
str
が指す文字列内で(
char
への変換を経た)
ch
の最後の出現を検索します(各文字は
unsigned
char
として解釈されます)。終端のヌル文字は文字列の一部と見なされ、
'
\0
'
を検索する場合に見つけることができます。
2)
型ジェネリック関数で、
(1)
と同等の機能を持つ。
T
を修飾なしの文字オブジェクト型とする。
-
-
strが型 const T * の場合、戻り値の型は const char * となる。 -
それ以外の場合、
strが型 T * の場合、戻り値の型は char * となる。 - それ以外の場合、動作は未定義となる。
-
str がヌル終端バイト文字列へのポインタでない場合、動作は未定義です。
目次 |
パラメータ
| str | - | 解析対象のヌル終端バイト文字列へのポインタ |
| ch | - | 検索対象の文字 |
戻り値
見つかった文字へのポインタを str 内で返します。該当する文字が見つからない場合はヌルポインタを返します。
例
このコードを実行
#include <stdio.h> #include <string.h> int main(void) { char szSomeFileName[] = "foo/bar/foobar.txt"; char* pLastSlash = strrchr(szSomeFileName, '/'); char* pszBaseName = pLastSlash ? pLastSlash + 1 : szSomeFileName; printf("Base Name: %s", pszBaseName); }
出力:
Base Name: foobar.txt
参考文献
- C23規格 (ISO/IEC 9899:2024):
-
- 7.24.5.5 strrchr関数 (p: TBD)
- C17規格 (ISO/IEC 9899:2018):
-
- 7.24.5.5 strrchr関数 (p: TBD)
- C11規格 (ISO/IEC 9899:2011):
-
- 7.24.5.5 strrchr関数 (p: 368-369)
- C99規格 (ISO/IEC 9899:1999):
-
- 7.21.5.5 strrchr関数 (p: 331)
- C89/C90標準 (ISO/IEC 9899:1990):
-
- 4.11.5.5 strrchr関数
関連項目
|
文字の最初の出現位置を検索
(関数) |
|
|
ある文字列中の任意の文字が別の文字列で最初に現れる位置を検索
(関数) |
|
|
C++ documentation
for
strrchr
|
|