STRCHR(3)

名前
strchr, strrchr, strchrnul - 文字列中の文字の位置を特定する

書式
#include <string.h>

char *strchr(const char *s, int c);

char *strrchr(const char *s, int c);
#define _GNU_SOURCE         /* feature_test_macros(7) 参照 */
#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 を返す。終端のヌルバイトは文字列の一部と みなされ、c に '\0' が指定された場合には、これらの関数は 終端のヌルバイトへのポインターを返す。

strchrnul() 関数は一致した文字へのポインターを返す。 文字が見つからない場合は、s の末尾のヌルバイトへの ポインター (つまり s+strlen(s)) を返す。

バージョン
strchrnul() は glibc バージョン 2.1.1 で初めて登場した。

属性
この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース | 属性 | 値
strchr(), strrchr(), strchrnul() | Thread safety | MT-Safe

準拠
strchr(), strrchr(): POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.

strchrnul() は GNU による拡張である。

関連項目
index(3), memchr(3), rindex(3), string(3), strlen(3), strpbrk(3), strsep(3), strspn(3), strstr(3), strtok(3), wcschr(3), wcsrchr(3)

この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。