当前位置: C语言 -- 标准库 -- <wchar.h> -- wmemchr

wmemchr函数


概要:
#include <wchar.h>
wchar_t *wmemchr(const wchar_t *s, wchar_t c,
      size_t n);

描述:

该函数搜索参数c指定的宽字符在参数s指向对象的初始n个宽字符中第一次出现的位置。

实现就像按顺序读取宽字符,遇到匹配宽字符立即停止。


参数:
const wchar_t *s

指向对象的指针。

wchar_t c

要搜索的宽字符。

size_t n

搜索的最大宽字符数。


返回值:

如果参数s指向对象不存在要搜索宽字符,函数返回空指针;否则函数返回指向第一个匹配成功的宽字符的指针。


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
/*函数wmemchr范例*/

#include <locale.h>
#include <wchar.h>

int main(void)
{
    setlocale(LC_ALL, "");

    const wchar_t wStr[] = L"九月九,九个酒迷喝醉酒。九个酒杯九杯酒,九个酒迷喝九口。";
    const wchar_t *pch = wStr;
    
    /*输出字符串中所有‘九’字的位置。*/
    wprintf(L"‘九’字的位置: ");
    while(1)
    {
        pch = wmemchr(pch, L'', wcslen(pch));
        if(pch == NULL)
            break;
        else
            wprintf(L"%td ", (++pch-wStr));
    }
    wprintf(L"\n");
    
    return 0;
}


输出:

‘九’字的位置: 1 3 5 13 17 21 26


相关内容:
wcschr 搜索指定宽字符在宽字符串中第一次出现位置的函数。
wcscspn 计算最大初始片段长度的函数。
wcspbrk 搜索宽字符在宽字符串中第一次出现位置的函数。
wcsrchr 搜索指定宽字符在宽字符串中最后一次出现位置的函数。
wcsspn 计算最大初始片段长度的函数。
wcsstr 搜索子字符串在宽字符串中第一次出现位置的函数。
wcstok 拆分宽字符串的函数。