Standardowe funkcje języka C
Standardowe biblioteki środowiska uruchomieniowego języka C zawierają zarówno wersje funkcji ciągów Unicode UTF-16 (szeroki znak), które mogą być używane z Unicode i zorientowane na bajty wersje funkcji ciągów, które mogą być używane z znakami z zestawów znaków jednobajtowych (SBCS). Typ danych Unicode WCHAR jest zgodny z typem danych wchar_t w ANSI C i umożliwia dostęp do funkcji ciągów Unicode. Wersje Unicode funkcji zaczynają się od liter "wcs" (lub czasami "_wcs"). Typ danych CHAR używany dla stron kodowych jest zgodny z znakiem typu danych char w ANSI C, aby umożliwić dostęp do funkcji ciągów znaków. Wersje znaków funkcji zaczynają się od liter "str". Istnieją również specjalne wersje zestawów znaków dwubajtowych (DBCS), które zaczynają się literami "_mbs".
Standardowe biblioteki środowiska uruchomieniowego języka C obejmują funkcje ogólne dla wszystkich standardowych funkcji ciągów języka C. Zaczynają się od "_tcs" i są wymienione w pliku nagłówka Tchar.h. Te funkcje używają ogólnego typu danych TCHAR.
Aplikacja musi dodać następujące wiersze, aby używać funkcji ogólnych i kompilować dla formatu Unicode.
#define _UNICODE
#include <tchar.h>
#include <wchar.h>
Należy pamiętać, że wymagane są zarówno pliki Tchar.h, jak i Wchar.h oraz że wymagane jest również podkreślenie wiodące dla zmiennej _UNICODE. Ta nomenklatura jest specyficzna dla standardowej biblioteki języka C. "UNICODE" renderowany bez podkreślenia jest przeznaczony dla środowisk uruchomieniowych systemu Microsoft Windows.
Funkcje wcstombs i mbstowcs mogą konwertować z zestawu znaków obsługiwanego przez standardową bibliotekę C na Unicode i z powrotem, z pewnymi ograniczeniami. Aby uzyskać więcej informacji na temat tłumaczenia ciągów na i z formatu Unicode, zobacz Translation Between String Types (Tłumaczenie między typami ciągów).
Funkcja printf zdefiniowana w pliku Tchar.h obsługuje te same specyfikacje formatu co funkcje drukowania Strsafe.h, na przykład StringCbPrintf. Podobnie funkcja Tchar.h definiuje funkcję wprintf, w której sam ciąg formatu jest ciągiem Unicode.
Ostrożność
Słaba obsługa buforu jest zamieszany w wiele problemów z zabezpieczeniami, które obejmują przekroczenia buforu. Zobacz Strsafe.h Reference. Funkcje zdefiniowane w pliku Strsafe.h zapewniają dodatkowe przetwarzanie dla prawidłowej obsługi buforu w kodzie. Mają one zastąpić wbudowane odpowiedniki języka C/C++, a także określone implementacje systemu Microsoft Windows. Aby uzyskać więcej informacji, zobacz Zagadnienia dotyczące zabezpieczeń: Funkcje międzynarodowe.
Tematy pokrewne