Partilhar via


Funções C padrão

As bibliotecas de tempo de execução C padrão contêm versões Unicode UTF-16 (caracteres largos) de funções de cadeia de caracteres que podem ser usadas com Unicode e versões orientadas a bytes de funções de cadeia de caracteres que podem ser usadas com caracteres de conjuntos de caracteres de byte único (SBCSs). O tipo de dados Unicode WCHAR é compatível com o tipo de dados wchar_t em ANSI C e permite o acesso às funções de cadeia de caracteres Unicode. As versões Unicode das funções começam com as letras "wcs" (ou às vezes "_wcs"). O tipo de dados CHAR usado para páginas de código é compatível com o tipo de dados de caracteres char em ANSI C, para permitir o acesso às funções de cadeia de caracteres. As versões de caracteres das funções começam com as letras "str". Há também versões especiais para conjuntos de caracteres de byte duplo (DBCSs) que começam com as letras "_mbs".

As bibliotecas de tempo de execução C padrão incluem funções genéricas para todas as funções de cadeia de caracteres C padrão. Eles começam com "_tcs" e são listados no arquivo de cabeçalho Tchar.h. Essas funções usam o tipo de dados TCHAR genérico.

Um aplicativo deve adicionar as seguintes linhas para usar as funções genéricas e compilar para Unicode.

#define _UNICODE

#include <tchar.h>
#include <wchar.h>

Observe que os arquivos Tchar.h e Wchar.h são necessários, e que o sublinhado principal na variável _UNICODE também é necessário. Esta nomenclatura é específica para a biblioteca C padrão. "UNICODE" renderizado sem o sublinhado é para os tempos de execução do Microsoft Windows.

O wcstombs e mbstowcs funções podem converter do conjunto de caracteres suportado pela biblioteca C padrão para Unicode e vice-versa, com algumas limitações. Para obter mais informações sobre como traduzir cadeias de caracteres de e para Unicode, consulte Translation Between String Types.

A função printf definida em Tchar.h suporta as mesmas especificações de formato que as funções de impressão Strsafe.h, por exemplo, StringCbPrintf. Da mesma forma, Tchar.h define uma função wprintf, na qual a própria string de formato é uma string Unicode.

Atenção

O manuseio deficiente do buffer está implicado em muitos problemas de segurança que envolvem saturações de buffer. Consulte de referência do Strsafe.h . As funções definidas em Strsafe.h fornecem processamento adicional para manipulação adequada de buffer em seu código. Destinam-se a substituir os seus homólogos C/C++ incorporados, bem como implementações específicas do Microsoft Windows. Para obter mais informações, consulte Considerações de segurança: recursos internacionais.

 

Unicode na API do Windows