Compartilhar via


Funções C padrão

As bibliotecas de runtime C padrão contêm versões unicode UTF-16 (caractere largo) de funções de cadeia de caracteres que podem ser usadas com Unicode e versões orientadas por 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 no 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 CHAR do tipo de dados usado para páginas de código é compatível com o caractere de tipo de dados char no ANSI C, para permitir o acesso às funções de cadeia de caracteres. As versões de caractere das funções começam com as letras "str". Também há versões especiais para conjuntos de caracteres de bytes duplos (DBCSs) que começam com as letras "_mbs".

As bibliotecas de runtime 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 à esquerda na variável _UNICODE também é necessário. Essa nomenclatura é específica para a biblioteca C padrão. "UNICODE" renderizado sem o sublinhado é para os runtimes do Microsoft Windows.

As funções wcstombs e mbstowcs podem converter do conjunto de caracteres compatível com a biblioteca C padrão para Unicode e voltar, com algumas limitações. Para obter mais informações sobre como traduzir cadeias de caracteres de e para Unicode, consulte Tradução entre tipos de cadeia de caracteres.

A função printf definida em Tchar.h dá suporte às 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 cadeia de caracteres de formato em si é uma cadeia de caracteres Unicode.

Cuidado

A má manipulação de buffer está implicada em muitos problemas de segurança que envolvem sobrecargas de buffer. Consulte de referência strsafe.h. As funções definidas no Strsafe.h fornecem processamento adicional para tratamento de buffer adequado em seu código. Eles se destinam a substituir seus equivalentes C/C++ internos, bem como implementações específicas do Microsoft Windows. Para obter mais informações, consulte Considerações sobre segurança: recursos internacionais.

 

Unicode no da API do Windows