표준 C 함수
표준 C 런타임 라이브러리에는 유니코드 사용할 수 있는 유니코드 UTF-16(와이드 문자) 버전의 문자열 함수와 SBCS(싱글 바이트 문자 집합)의 문자와 함께 사용할 수 있는 바이트 지향 문자열 함수 버전이 모두 포함되어 있습니다. 유니코드 데이터 형식 WCHAR는 ANSI C의 wchar_t 데이터 형식과 호환되며 유니코드 문자열 함수에 대한 액세스를 허용합니다. 함수의 유니코드 버전은 문자 "wcs"(또는 경우에 따라 "_wcs")로 시작합니다. 코드 페이지에 사용되는 데이터 형식 CHAR는 문자 문자열 함수에 대한 액세스를 허용하기 위해 ANSI C의 문자 데이터 형식 char와 호환됩니다. 함수의 문자 버전은 문자 "str"로 시작합니다. "_mbs" 문자로 시작하는 DBCS(더블 바이트 문자 집합)에 대한 특수 버전도 있습니다.
표준 C 런타임 라이브러리에는 모든 표준 C 문자열 함수에 대한 제네릭 함수가 포함됩니다. "_tcs"로 시작하고 Tchar.h 헤더 파일에 나열됩니다. 이러한 함수는 제네릭 TCHAR 데이터 형식을 사용합니다.
애플리케이션은 제네릭 함수를 사용하고 유니코드용으로 컴파일하려면 다음 줄을 추가해야 합니다.
#define _UNICODE
#include <tchar.h>
#include <wchar.h>
Tchar.h 및 Wchar.h 파일이 모두 필요하며 _UNICODE 변수의 선행 밑줄도 필요합니다. 이 명명법은 표준 C 라이브러리와 관련이 있습니다. 밑줄 없이 렌더링되는 "UNICODE"는 Microsoft Windows 런타임용입니다.
wcstombs 및 mbstowcs 함수는 표준 C 라이브러리에서 지원하는 문자 집합에서 유니코드로 변환할 수 있으며 몇 가지 제한 사항이 있습니다. 유니코드 간에 문자열을 변환하는 방법에 대한 자세한 내용은 문자열 형식 간 변환참조하세요.
Tchar.h에 정의된 printf 함수는 Strsafe.h 인쇄 함수와 동일한 형식 사양을 지원합니다(예: StringCbPrintf). 마찬가지로 Tchar.h는 형식 문자열 자체가 유니코드 문자열인 wprintf 함수를 정의합니다.
주의
버퍼 오버런을 포함하는 많은 보안 문제에 버퍼 처리가 잘못되었습니다. Strsafe.h 참조참조하세요. Strsafe.h에 정의된 함수는 코드에서 적절한 버퍼 처리를 위한 추가 처리를 제공합니다. 기본 제공 C/C++ 대응과 특정 Microsoft Windows 구현을 대체하기 위한 것입니다. 자세한 내용은 보안 고려 사항: 국제 기능참조하세요.
관련 항목
-
Windows API 유니코드