Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A maioria dos códigos C e C++ tradicionais faz suposições sobre manipulação de caracteres e cadeias de caracteres que não funcionam bem em aplicativos internacionais. Embora o MFC e a biblioteca em tempo de execução ofereçam suporte a Unicode ou MBCS, você ainda tem trabalho para fazer. Para guiá-lo, esta seção explica o significado de "habilitação internacional" no Visual C++:
O Unicode e o MBCS são habilitados através de tipos de dados portáteis nas listas de parâmetros e tipos de retorno de funções do MFC. Esses tipos são definidos condicionalmente das maneiras apropriadas, dependendo se o build define o símbolo
_UNICODEou o símbolo_MBCS(que significa DBCS). Variantes diferentes das bibliotecas do MFC são vinculadas automaticamente ao seu aplicativo, dependendo de quais desses dois símbolos seu build define.O código da biblioteca de classes usa funções de tempo de execução portáteis e outros meios para garantir o comportamento correto do Unicode ou do MBCS.
Você ainda deve tratar determinados tipos de tarefas de internacionalização em seu código:
Usar as mesmas funções de tempo de execução portáteis que tornam o MFC portátil em todo ambiente.
Torne cadeias de caracteres literais e caracteres portáteis em qualquer dos ambientes, usando a macro
_T. Para obter mais informações, consulte Mapeamentos de texto genérico em tchar.h.Tome as devidas precauções ao analisar cadeias de caracteres em MBCS. Essas precauções não são necessárias no Unicode. Para obter mais informações, consulte Dicas de programação do MBCS.
Tenha cuidado caso você misture caracteres ANSI (8 bits) e Unicode (16 bits) em seu aplicativo. É possível usar caracteres ANSI em algumas partes do programa e caracteres Unicode em outras, mas você não pode misturá-los na mesma cadeia de caracteres.
Não codifique cadeias de caracteres em seu aplicativo. Em vez disso, torne-as em recursos STRINGTABLE adicionando-as ao arquivo .rc do aplicativo. Em seguida, seu aplicativo pode ser localizado sem exigir alterações de código-fonte ou recompilação. Para obter mais informações sobre recursos STRINGTABLE, consulte Editor de cadeia de caracteres.
Observação
Conjuntos de caracteres europeus e MBCS têm alguns caracteres, como letras acentuadas, com códigos de caractere maiores que 0x80. Como a maior parte do código usa caracteres com sinal, os caracteres que são maiores que 0x80 têm o sinal estendido quando convertidos em int. Esse é um problema para a indexação de vetor porque os caracteres com extensão de sinal, por serem negativos, levam a uma indexação fora do vetor. Idiomas que utilizam MBCS, como o japonês, também são únicos. Como um caractere pode consistir em 1 ou 2 bytes, você sempre deve manipular os dois bytes ao mesmo tempo.