# wcsrchr

< c‎ | string‎ | wide

定义于头文件 `<wchar.h>` |  |
wchar_t* wcsrchr( const wchar_t* str, wchar_t ch ); |  | (C95 起)

寻找宽字符 `ch` 在 `str` 所指向的空终止宽字符串中的最后一次出现。

### 参数

str | - | 指向要分析的空终止宽字符串的指针
ch | - | 要搜索的宽字符

### 返回值

指向 `str` 中找到的字符的指针，或若找不到这种字符则为空指针。

### 示例

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

    int main(void)
    {
        wchar_t arr[] = L"白猫 黒猫 кошки";
        wchar_t *cat = wcsrchr(arr, L'猫');
        wchar_t *dog = wcsrchr(arr, L'犬');

        setlocale(LC_ALL, "en_US.utf8");
        if(cat) // 在位置%td处找到“猫”字
            printf("The character 猫 found at position %td\n", cat-arr);
        else    // 没有找到“猫”字
            puts("The character 猫 not found");

        if(dog) // 在位置%td处找到“犬”字
            printf("The character 犬 found at position %td\n", dog-arr);
        else    // 没有找到“犬”字
            puts("The character 犬 not found");
    }

输出：

    The character 猫 found at position 4
    The character 犬 not found

### 引用

- C11 标准（ISO/IEC 9899:2011）：

  - 7.29.4.5.4 The wcsrchr function (p: 436)

- C99 标准（ISO/IEC 9899:1999）：

  - 7.24.4.5.4 The wcsrchr function (p: 382)

### 参阅

wcschr (C95) | 查找宽字符在宽字符串中的首次出现 (函数)
wcspbrk (C95) | 查找一个宽字符串中的任何字符在另一个宽字符串中的首个位置 (函数)