名前空間
変種
操作

memchr

提供: cppreference.com
< c‎ | string‎ | byte
ヘッダ <string.h> で定義
void* memchr(constvoid* ptr, int ch, size_t count );

ptr の指すオブジェクトの先頭 count 文字 (それぞれ unsignedchar として解釈されます) から ch ((unsignedchar)ch によって行われたかのように unsignedchar に変換された後) が最初に現れる位置を探します。

検索される配列の終端を超えてアクセスが発生した場合、動作は未定義です。 ptr がヌルポインタの場合、動作は未定義です。

この関数は文字をシーケンシャルに読み込み、一致する文字が見つかると直ちに停止するかのように動作します。 ptr の指す配列が count より小さいけれども、配列内に一致が見つかる場合、動作は well-defined です。

(C11以上)

目次

[編集]引数

ptr - 調べるオブジェクトを指すポインタ
ch - 検索する文字
count - 調べる最大文字数

[編集]戻り値

文字の位置を指すポインタ、またはそのような文字が見つからない場合は NULL

[編集]

#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);elseprintf("search character not found\n");   return0;}

出力:

search character found: DEFG

[編集]参考文献

  • C11 standard (ISO/IEC 9899:2011):
  • 7.24.5.1 The memchr function (p: 367)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.21.5.1 The memchr function (p: 330)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.11.5.1 The memchr function

[編集]関連項目

文字が現れる最初の位置を探します
(関数)[edit]
close