名前
strchr, strrchr, strchrnul - 文字列中の文字の位置を特定する
書式
#include <string.h>
char *strchr(const char *s, int c);
char *strrchr(const char *s, int c);
#define _GNU_SOURCE
#include <string.h>
char *strchrnul(const char *s, int c);
説明
strchr() 関数は、文字列 s 中に最初に文字 c が現れた位置へのポインタを返す。
strrchr() 関数は、文字列 s 中に最後に文字 c が現れた位置へのポインタを返す。
strchrnul() 関数は strchr() と同様だが、 c が s 中に見つからなかった場合に、返り値として NULL でなく、s の末尾のヌルバイトへのポインタを返す点が異なる。
ここでいう「文字」は「バイト」の意味なので、 これらの関数はワイド文字やマルチバイト文字では動作しない。
返り値
strchr() と strrchr() 関数は一致した文字へのポインタを 返し、もし文字が見つからない場合は NULL を返す。
strchrnul() 関数は一致した文字へのポインタを返す。 文字が見つからない場合は、s の末尾のヌルバイトへの ポインタ (つまり s+strlen(s)) を返す。
準拠
strchr() と strrchr() は SVr4, 4.3BSD, C89, C99 に準拠している。 strchrnul() は GNU 拡張である。
関連項目
index(3), memchr(3), rindex(3), strlen(3), strpbrk(3), strsep(3), strspn(3), strstr(3), strtok(3), wcschr(3), wcsrchr(3), feature_test_macros(7)