😸

[C] memchr 関数

に公開

機能

指定したメモリ領域の先頭から特定のバイト値を検索する標準関数[1]

使用例

'a' と表示する

\n は改行を表す エスケープシーケンス[2]

コード

char arr[] = "abcde";
char *p = (char *)memchr(arr, 'a', 5);
if (p != NULL) {
    printf("%c\n", *p);
}
全文
#include <stdio.h>
#include <string.h>
void main() {
    char arr[] = "abcde";
    char *p = (char *)memchr(arr, 'a', 5);
    if (p != NULL) {
        printf("%c\n", *p);
    }
}

実行結果

a

NULL を表示する(見つからない場合)

コード

char arr[] = "abcde";
char *p = (char *)memchr(arr, 'z', 5);
if (p == NULL) {
    printf("NULL\n");
}
全文
#include <stdio.h>
#include <string.h>
void main() {
    char arr[] = "abcde";
    char *p = (char *)memchr(arr, 'z', 5);
    if (p == NULL) {
        printf("NULL\n");
    }
}

実行結果

NULL
脚注
  1. memchrは、バイト配列(メモリ領域)の中から特定の値(文字)を探し、その最初の位置を返す。見つからなければNULL。 ↩︎

  2. 改行やタブなど、画面に表示されない制御文字のこと。 ↩︎

Discussion