다음을 통해 공유


표준 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 런타임용입니다.

wcstombsmbstowcs 함수는 표준 C 라이브러리에서 지원하는 문자 집합에서 유니코드로 변환할 수 있으며 몇 가지 제한 사항이 있습니다. 유니코드 간에 문자열을 변환하는 방법에 대한 자세한 내용은 문자열 형식 간 번역을 참조하세요.

Tchar.h에 정의된 printf 함수는 Strsafe.h 인쇄 함수와 동일한 형식 사양(예: StringCbPrintf)을 지원합니다. 마찬가지로 Tchar.h는 형식 문자열 자체가 유니코드 문자열인 wprintf 함수를 정의합니다.

주의

버퍼 처리 불량은 버퍼 오버런과 관련된 많은 보안 문제에 연루됩니다. Strsafe.h 참조를 참조하세요. Strsafe.h에 정의된 함수는 코드에서 적절한 버퍼 처리를 위한 추가 처리를 제공합니다. 기본 제공 C/C++ 대응 항목과 특정 Microsoft Windows 구현을 대체하기 위한 것입니다. 자세한 내용은 보안 고려 사항: 국가별 기능을 참조하세요.

 

Windows API의 유니코드