Namespaces
Variants

wcsrchr

From cppreference.net
< c ‎ | string ‎ | wide
Определено в заголовке <wchar.h>
wchar_t * wcsrchr ( const wchar_t * str, wchar_t ch ) ;
(1) (начиная с C95)
/*QWchar_t*/ * wcsrchr ( /*QWchar_t*/ * str, wchar_t ch ) ;
(2) (начиная с C23)
1) Находит последнее вхождение широкого символа ch в широкой строке, на которую указывает str .
2) Обобщённая по типам функция, эквивалентная (1) . Пусть T будет неуточнённым объектным типом широкого символа.
  • Если str имеет тип const T * , возвращаемый тип будет const wchar_t * .
  • Иначе, если str имеет тип T * , возвращаемый тип будет wchar_t * .
  • В противном случае поведение не определено.
Если макрос-определение каждой из этих обобщённых функций подавлено для доступа к реальной функции (например, если используется ( wcsrchr ) или указатель на функцию), становится видимым объявление реальной функции (1) .

Содержание

Параметры

str - указатель на анализируемую широкую строку с нулевым завершением
ch - широкий символ для поиска

Возвращаемое значение

Указатель на найденный символ в str , или нулевой указатель, если такой символ не найден.

Пример

#include <locale.h>
#include <stdio.h>
#include <wchar.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");
    cat ? printf("The character 猫 found at position %td\n", cat - arr)
        : puts("The character 猫 not found");
    dog ? printf("The character 犬 found at position %td\n", dog - arr)
        : puts("The character 犬 not found");
}

Вывод:

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

Ссылки

  • Стандарт C23 (ISO/IEC 9899:2024):
  • 7.31.4.6.4 Функция wcsrchr (стр: TBD)
  • Стандарт C17 (ISO/IEC 9899:2018):
  • 7.29.4.5.4 Функция wcsrchr (стр: 318)
  • Стандарт C11 (ISO/IEC 9899:2011):
  • 7.29.4.5.4 Функция wcsrchr (стр: 436)
  • Стандарт C99 (ISO/IEC 9899:1999):
  • 7.24.4.5.4 Функция wcsrchr (стр: 382)

Смотрите также

(C95)
находит первое вхождение широкого символа в широкой строке
(функция)
(C95)
находит первое вхождение любого широкого символа из одной широкой строки в другой широкой строке
(функция)
C++ documentation для wcsrchr