std:: wcsncmp
|
헤더 파일에 정의됨
<cwchar>
|
||
|
int
wcsncmp
(
const
wchar_t
*
lhs,
const
wchar_t
*
rhs,
std::
size_t
count
)
;
|
||
최대 count 개의 와이드 문자를 두 개의 널 종료 와이드 문자열에서 비교합니다. 비교는 사전식 순서로 수행됩니다.
결과의 부호는 비교 중인 문자열에서 서로 다른 첫 번째 와이드 문자 쌍의 값 차이의 부호입니다.
동작은 lhs 또는 rhs 가 널 종료 문자열에 대한 포인터가 아닌 경우 정의되지 않습니다.
목차 |
매개변수
| lhs, rhs | - | 비교할 널 종료 와이드 문자열에 대한 포인터 |
| count | - | 비교할 최대 문자 수 |
반환값
음수 값은 lhs 가 rhs 보다 사전식 순서에서 앞에 나타날 경우입니다.
lhs 와 rhs 가 동일하게 비교될 경우 0.
lhs 가 rhs 보다 사전식 순서에서 뒤에 나타나면 양의 값.
예제
#include <clocale> #include <cwchar> #include <iostream> #include <locale> void demo(const wchar_t* lhs, const wchar_t* rhs, int sz) { int rc = std::wcsncmp(lhs, rhs, sz); if (rc == 0) std::wcout << "First " << sz << " characters of [" << lhs << "] equal [" << rhs << "]\n"; else if (rc < 0) std::wcout << "First " << sz << " characters of [" << lhs << "] precede [" << rhs << "]\n"; else if (rc > 0) std::wcout << "First " << sz << " characters of [" << lhs << "] follow [" << rhs << "]\n"; } int main() { const wchar_t str1[] = L"안녕하세요"; const wchar_t str2[] = L"안녕히 가십시오"; std::setlocale(LC_ALL, "en_US.utf8"); std::wcout.imbue(std::locale("en_US.utf8")); demo(str1, str2, 5); demo(str2, str1, 8); demo(str1, str2, 2); }
출력:
First 5 characters of [안녕하세요] precede [안녕히 가십시오] First 8 characters of [안녕히 가십시오] follow [안녕하세요] First 2 characters of [안녕하세요] equal [안녕히 가십시오]
참고 항목
|
두 문자열에서 특정 수의 문자를 비교합니다
(함수) |
|
|
두 개의 와이드 문자열을 비교합니다
(함수) |
|
|
두 배열에서 특정 양의 와이드 문자를 비교합니다
(함수) |
|
|
현재 로캘에 따라 두 개의 와이드 문자열을 비교합니다
(함수) |
|
|
C documentation
for
wcsncmp
|
|