>> C言語関数一覧トップに戻る

C言語 memchr 使い方

今回はC言語のmemchr関数の使い方について説明します。

memchr関数はメモリの中からバイト数を指定して、文字を検索する関数です。

■書式
#include <string.h>
void *memchr(const void *buf, int ch, size_t n);

第一引数は検索対象のメモリのポインタ
第二引数は検索文字
第三引数は検索バイト数

を指定します。
見つかれば、その文字のポインタを返し、見つからないorエラー時はNULLを返します。
■サンプルコード
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void)
{
	char buf[] = "ABCD5EFGH";
	
	char *ch;

	ch = (char*)memchr(buf,'5',sizeof(buf));

	if(ch!=NULL){
		printf("検索文字から表示→%s\n",ch);
	}else{
		puts("検索文字が見つかりませんでした。");
	}

	
	
	return 0;
}
■実行結果
検索文字から表示→5EFGH


上記のコードでは「5」という文字を検索して、見つかればその位置から文字列を表示、
見つからなければ見つからないというメッセージを出すようにしています。
今回は「5」という文字があるので、その位置のポインタが返り、そこから文字列を表示できています。
>> 【C言語 memcmp 使い方】に進む
>> C言語関数一覧トップに戻る