memchr() — バッファーを検索する
形式
#include <string.h>
void *memchr(const void *buf, int c, size_t count);言語レベル
ANSI
スレッド・セーフ
はい
説明
memchr() 関数は、符号なし文字に変換された c の最初のオカレンスについて、 buf の最初の count バイトを検索します。 検索は、この関数が c を検出するか、count バイトを検査するまで続きます。
戻り値
memchr() 関数は、 buf内の c の位置を指すポインターを戻します。 c が bufの最初の count バイト内にない場合は、 NULL を戻します。
例
この例では、指定したストリング内で、最初のオカレンス “x” を見つけます。 見つかった場合は、その文字で始まるストリングが出力されます。
#include <stdio.h>
#include <string.h>
int main(int argc, char ** argv)
{
char * result;
if ( argc != 2 )
printf( "Usage: %s string\n", argv[0] );
else
{
if ((result = (char *) memchr( argv[1], 'x', strlen(argv[1])) ) != NULL)
printf( "The string starting with x is %s\n", result );
else
printf( "The letter x cannot be found in the string\n" );
}
}
/******************** Output should be similar to: **************
The string starting with x is xing
*/