memchr
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <string.h> で定義
|
||
void* memchr( const void* ptr, int ch, size_t count ); |
||
ptr の指すオブジェクトの先頭 count 文字 (それぞれ unsigned char として解釈されます) から ch ((unsigned char)ch によって行われたかのように unsigned char に変換された後) が最初に現れる位置を探します。
検索される配列の終端を超えてアクセスが発生した場合、動作は未定義です。 ptr がヌルポインタの場合、動作は未定義です。
|
この関数は文字をシーケンシャルに読み込み、一致する文字が見つかると直ちに停止するかのように動作します。 |
(C11以上) |
引数
| ptr | - | 調べるオブジェクトを指すポインタ |
| ch | - | 検索する文字 |
| count | - | 調べる最大文字数 |
戻り値
文字の位置を指すポインタ、またはそのような文字が見つからない場合は NULL。
例
Run this code
#include <stdio.h>
#include <string.h>
int main(void)
{
char str[] = "ABCDEFG";
char *ps = memchr(str,'D',strlen(str));
if (ps != NULL)
printf ("search character found: %s\n", ps);
else
printf ("search character not found\n");
return 0;
}
出力:
search character found: DEFG