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) 넓은 문자열 str 이 가리키는 문자열에서 와이드 문자 ch 의 마지막 발생 위치를 찾습니다.
2) (1) 에 상응하는 타입-제네릭 함수. T 를 한정자 없는 와이드 문자 객체 타입으로 가정합니다.
  • str const T * 타입인 경우, 반환 타입은 const wchar_t * 입니다.
  • 그렇지 않고 str T * 타입인 경우, 반환 타입은 wchar_t * 입니다.
  • 그 외의 경우, 동작은 정의되지 않습니다.
이러한 제네릭 함수들의 매크로 정의가 실제 함수에 접근하기 위해 억제된 경우(예: ( wcsrchr ) 또는 함수 포인터 사용), 실제 함수 선언 (1) 이 나타납니다.

목차

매개변수

str - 분석할 null로 종료되는 와이드 문자열에 대한 포인터
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 The wcsrchr 함수 (p: TBD)
  • C17 표준 (ISO/IEC 9899:2018):
  • 7.29.4.5.4 wcsrchr 함수 (p: 318)
  • C11 표준 (ISO/IEC 9899:2011):
  • 7.29.4.5.4 wcsrchr 함수 (p: 436)
  • C99 표준 (ISO/IEC 9899:1999):
  • 7.24.4.5.4 wcsrchr 함수 (p: 382)

참고 항목

(C95)
와이드 문자열에서 와이드 문자의 첫 번째 발생 위치를 찾음
(함수)
(C95)
하나의 와이드 문자열에서 다른 와이드 문자열에 포함된 임의의 와이드 문자 첫 위치를 찾음
(함수)