名前空間
変種
操作

wmemchr

提供: cppreference.com
< c‎ | string‎ | wide
ヘッダ <wchar.h> で定義
wchar_t *wmemchr( const wchar_t *ptr, wchar_t ch, size_t count );
(C95およびそれ以降)

ptr の指すワイド文字配列 (または互換性のある型の整数配列) の先頭 count 個のワイド文字からワイド文字 ch が最初に現れる位置を探します。

count がゼロの場合、この関数はヌルポインタを返します。

目次

[編集] 引数

ptr - 調べるワイド文字配列を指すポインタ
ch - 検索するワイド文字
count - 調べるワイド文字数

[編集] 戻り値

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

[編集]

#include <stdio.h>
#include <wchar.h>
#include <locale.h>
 
int main(void)
{
    wchar_t str[] = L"诺不轻信,故人不负我\0诺不轻许,故我不负人。";
    size_t sz = sizeof str / sizeof *str;
 
    wchar_t target = L'许';
    wchar_t* result = wmemchr(str, target, sz);
 
    if (result) {
        setlocale(LC_ALL, "en_US.utf8");
        printf("Found '%lc' at position %td\n",target, result - str);
    }
}

出力例:

Found '许' at position 14

[編集] 参考文献

  • C11 standard (ISO/IEC 9899:2011):
  • 7.29.4.5.8 The wmemchr function (p: 438)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.24.4.5.8 The wmemchr function (p: 384)

[編集] 関連項目

文字が現れる最初の位置を配列から探します
(関数) [edit]
(C95)
ワイド文字列中のワイド文字が現れる最初の位置を探します
(関数) [edit]