Standard library header <cwchar>
From cppreference.net
이 헤더는 원래 C 표준 라이브러리에 <wchar.h> 로 존재했습니다.
이 헤더는 null-terminated wide 및 multibyte 문자열 라이브러리의 일부입니다. 또한 일부 C-style I/O 함수와 C-style Date 변환 기능을 제공합니다.
목차 |
매크로
|
구현에서 정의된 널 포인터 상수
(매크로 상수) |
|
|
WEOF
|
std::wint_t
타입의 비문자 값으로 오류를 나타내는 데 사용됨
(매크로 상수) |
|
WCHAR_MIN
|
wchar_t
의 최소 유효 값
(매크로 상수) |
|
WCHAR_MAX
|
wchar_t
의 최대 유효 값
(매크로 상수) |
타입
|
멀티바이트 문자 문자열을 순회하는 데 필요한 변환 상태 정보
(class) |
|
|
sizeof
연산자가 반환하는 부호 없는 정수형
(typedef) |
|
wint_t
|
모든 유효한 와이드 문자와 최소 하나 이상의 추가 값을 보유할 수 있는 정수형 |
|
달력 시간 형식
(class) |
함수
문자열 조작 |
|
|
와이드 문자열을 다른 문자열로 복사합니다
(함수) |
|
|
한 문자열에서 다른 문자열로 지정된 개수의 와이드 문자를 복사합니다
(함수) |
|
|
하나의 와이드 문자열 복사본을 다른 문자열에 추가합니다
(함수) |
|
|
하나의 와이드 문자열에서 특정 수의 와이드 문자를 다른 와이드 문자열에 추가합니다
(함수) |
|
와이드 문자열을 변환하여
wcscmp
가
wcscoll
와 동일한 결과를 생성하도록 함
(함수) |
|
문자열 검사 |
|
|
와이드 문자열의 길이를 반환합니다
(함수) |
|
|
두 개의 와이드 문자열을 비교합니다
(함수) |
|
|
두 개의 와이드 문자열에서 지정된 수의 문자를 비교합니다
(함수) |
|
|
현재 로캘에 따라 두 개의 와이드 문자열을 비교합니다
(function) |
|
|
와이드 문자열에서 와이드 문자의 첫 번째 발생 위치를 찾습니다
(함수) |
|
|
와이드 문자열에서 와이드 문자의 마지막 발생 위치를 찾습니다
(함수) |
|
|
다른 와이드 문자열에서 발견되는 와이드 문자들로만 구성된
최대 초기 세그먼트의 길이를 반환합니다 (function) |
|
|
다른 와이드 문자열에 포함되지 않은 와이드 문자들로만 구성된
최대 초기 세그먼트의 길이를 반환합니다 (function) |
|
|
하나의 와이드 문자열에서 다른 와이드 문자열에 포함된 와이드 문자 중 첫 번째 위치를 찾습니다
(함수) |
|
|
다른 와이드 문자열에서 와이드 문자열의 첫 번째 발생을 찾습니다
(함수) |
|
|
와이드 문자열에서 다음 토큰을 찾음
(함수) |
|
와이드 문자 배열 조작 |
|
|
두 개의 겹치지 않는 배열 사이에서 지정된 개수의 와이드 문자를 복사합니다
(함수) |
|
|
두 개의 (가능하게 중첩되는) 배열 사이에서 지정된 개수의 와이드 문자를 복사합니다
(함수) |
|
|
두 배열에서 지정된 개수의 와이드 문자를 비교합니다
(함수) |
|
|
와이드 문자 배열에서 첫 번째 와이드 문자 발생을 찾습니다
(함수) |
|
|
주어진 와이드 문자를 와이드 문자 배열의 모든 위치에 복사합니다
(함수) |
|
멀티바이트/와이드 문자 변환 |
|
|
std::mbstate_t
객체가 초기 시프트 상태를 나타내는지 확인합니다
(함수) |
|
|
단일 바이트 좁은 문자를 가능한 경우 와이드 문자로 확장합니다
(함수) |
|
|
가능한 경우 와이드 문자를 단일 바이트 네로우 문자로 축소합니다
(function) |
|
|
주어진 상태에서 다음 멀티바이트 문자에 포함된 바이트 수를 반환합니다
(함수) |
|
|
주어진 상태에서 다음 멀티바이트 문자를 와이드 문자로 변환합니다
(함수) |
|
|
와이드 문자를 멀티바이트 표현으로 변환합니다 (상태 정보 사용)
(함수) |
|
|
좁은 멀티바이트 문자 문자열을 와이드 문자열로 변환 (상태 정보 제공)
(함수) |
|
|
와이드 문자열을 상태 정보를 사용하여 좁은 멀티바이트 문자 문자열로 변환
(함수) |
|
입출력 |
|
|
파일 스트림에서 와이드 문자를 읽어옴
(함수) |
|
|
파일 스트림에서 와이드 문자열을 가져옴
(함수) |
|
|
파일 스트림에 와이드 문자를 기록합니다
(함수) |
|
|
파일 스트림에 와이드 문자열을 기록합니다
(함수) |
|
|
표준 입력에서 와이드 문자를 읽음
stdin
(함수) |
|
|
stdout에 와이드 문자를 기록합니다
stdout
(함수) |
|
|
파일 스트림에 와이드 문자를 다시 넣음
(function) |
|
|
파일 스트림을 와이드 문자 I/O와 좁은 문자 I/O 간에 전환합니다
(함수) |
|
|
stdin
, 파일 스트림 또는 버퍼로부터 형식이 지정된 와이드 문자 입력을 읽어들임
(함수) |
|
|
(C++11)
(C++11)
(C++11)
|
가변 인자 목록을 사용하여
stdin
, 파일 스트림 또는 버퍼로부터
형식화된 와이드 문자 입력을 읽어들임 (함수) |
|
형식이 지정된 와이드 문자 출력을
stdout
, 파일 스트림 또는 버퍼에 출력합니다
(함수) |
|
|
가변 인자 목록을 사용하여 형식화된 와이드 문자 출력을
stdout
, 파일 스트림
또는 버퍼에 출력합니다 (함수) |
|
문자열 변환 |
|
|
std::tm
객체를 사용자 정의 와이드 문자열 텍스트 표현으로 변환
(함수) |
|
|
와이드 문자열을 정수 값으로 변환
(함수) |
|
|
와이드 문자열을 부호 없는 정수 값으로 변환합니다
(함수) |
|
|
와이드 문자열을 부동 소수점 값으로 변환
(함수) |
|
참고 사항
- NULL 는 다음 헤더에서도 정의됩니다:
- std::size_t 는 다음 헤더에서도 정의됩니다:
-
std::wint_t는 다음 헤더에서도 정의됩니다: - std::tm 는 다음 헤더에서도 정의됩니다:
시놉시스
namespace std { using size_t = /* 설명 참조 */; // freestanding using mbstate_t = /* 설명 참조 */; // freestanding using wint_t = /* 설명 참조 */; // freestanding struct tm; int fwprintf(FILE* stream, const wchar_t* format, ...); int fwscanf(FILE* stream, const wchar_t* format, ...); int swprintf(wchar_t* s, size_t n, const wchar_t* format, ...); int swscanf(const wchar_t* s, const wchar_t* format, ...); int vfwprintf(FILE* stream, const wchar_t* format, va_list arg); int vfwscanf(FILE* stream, const wchar_t* format, va_list arg); int vswprintf(wchar_t* s, size_t n, const wchar_t* format, va_list arg); int vswscanf(const wchar_t* s, const wchar_t* format, va_list arg); int vwprintf(const wchar_t* format, va_list arg); int vwscanf(const wchar_t* format, va_list arg); int wprintf(const wchar_t* format, ...); int wscanf(const wchar_t* format, ...); wint_t fgetwc(FILE* stream); wchar_t* fgetws(wchar_t* s, int n, FILE* stream); wint_t fputwc(wchar_t c, FILE* stream); int fputws(const wchar_t* s, FILE* stream); int fwide(FILE* stream, int mode); wint_t getwc(FILE* stream); wint_t getwchar(); wint_t putwc(wchar_t c, FILE* stream); wint_t putwchar(wchar_t c); wint_t ungetwc(wint_t c, FILE* stream); double wcstod(const wchar_t* nptr, wchar_t** endptr); float wcstof(const wchar_t* nptr, wchar_t** endptr); long double wcstold(const wchar_t* nptr, wchar_t** endptr); long int wcstol(const wchar_t* nptr, wchar_t** endptr, int base); long long int wcstoll(const wchar_t* nptr, wchar_t** endptr, int base); unsigned long int wcstoul(const wchar_t* nptr, wchar_t** endptr, int base); unsigned long long int wcstoull(const wchar_t* nptr, wchar_t** endptr, int base); wchar_t* wcscpy(wchar_t* s1, const wchar_t* s2); // 독립 실행 환경 wchar_t* wcsncpy(wchar_t* s1, const wchar_t* s2, size_t n); // 독립 실행 환경 wchar_t* wmemcpy(wchar_t* s1, const wchar_t* s2, size_t n); // 독립 실행 환경 wchar_t* wmemmove(wchar_t* s1, const wchar_t* s2, size_t n); // freestanding wchar_t* wcscat(wchar_t* s1, const wchar_t* s2); // 독립 실행 환경 wchar_t* wcsncat(wchar_t* s1, const wchar_t* s2, size_t n); // 독립 실행 환경 int wcscmp(const wchar_t* s1, const wchar_t* s2); // freestanding int wcscoll(const wchar_t* s1, const wchar_t* s2); int wcsncmp(const wchar_t* s1, const wchar_t* s2, size_t n); // 독립 실행 환경 size_t wcsxfrm(wchar_t* s1, const wchar_t* s2, size_t n); int wmemcmp(const wchar_t* s1, const wchar_t* s2, size_t n); // 독립 실행 환경 const wchar_t* wcschr(const wchar_t* s, wchar_t c); // freestanding wchar_t* wcschr(wchar_t* s, wchar_t c); // freestanding size_t wcscspn(const wchar_t* s1, const wchar_t* s2); // 독립 실행 환경 const wchar_t* wcspbrk(const wchar_t* s1, const wchar_t* s2); // freestanding wchar_t* wcspbrk(wchar_t* s1, const wchar_t* s2); // freestanding const wchar_t* wcsrchr(const wchar_t* s, wchar_t c); // 독립 실행 환경 wchar_t* wcsrchr(wchar_t* s, wchar_t c); // freestanding size_t wcsspn(const wchar_t* s1, const wchar_t* s2); // 독립 실행 환경 const wchar_t* wcsstr(const wchar_t* s1, const wchar_t* s2); // 독립 실행 환경 wchar_t* wcsstr(wchar_t* s1, const wchar_t* s2); // 독립 실행 환경 wchar_t* wcstok(wchar_t* s1, const wchar_t* s2, wchar_t** ptr); // 독립형 환경 const wchar_t* wmemchr(const wchar_t* s, wchar_t c, size_t n); // freestanding wchar_t* wmemchr(wchar_t* s, wchar_t c, size_t n); // freestanding size_t wcslen(const wchar_t* s); // freestanding wchar_t* wmemset(wchar_t* s, wchar_t c, size_t n); // freestanding size_t wcsftime(wchar_t* s, size_t maxsize, const wchar_t* format, const tm* timeptr); wint_t btowc(int c); int wctob(wint_t c); // 멀티바이트/와이드 문자열 및 문자 변환 함수 int mbsinit(const mbstate_t* ps); size_t mbrlen(const char* s, size_t n, mbstate_t* ps); size_t mbrtowc(wchar_t* pwc, const char* s, size_t n, mbstate_t* ps); size_t wcrtomb(char* s, wchar_t wc, mbstate_t* ps); size_t mbsrtowcs(wchar_t* dst, const char** src, size_t len, mbstate_t* ps); size_t wcsrtombs(char* dst, const wchar_t** src, size_t len, mbstate_t* ps); } #define NULL /* 설명 참조 */ // freestanding #define WCHAR_MAX /* 설명 참조 */ // freestanding #define WCHAR_MIN /* 설명 참조 */ // freestanding #define WEOF /* 설명 참조 */ // freestanding
결함 보고서
다음 동작 변경 결함 보고서는 이전에 게시된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| LWG 345 | C++98 |
std::tm
이
<cwchar>
에 제공되지 않음
|
제공됨 |