Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
La mayoría de los códigos C y C++ tradicionales hacen suposiciones sobre la manipulación de caracteres y cadenas que no funcionan bien para las aplicaciones internacionales. Aunque tanto MFC como la biblioteca en tiempo de ejecución admiten Unicode o MBCS, todavía tienes trabajo por hacer. Para guiarle, en esta sección se explica el significado de "habilitación internacional" en Visual C++:
Tanto Unicode como MBCS están habilitados mediante tipos de datos portables en listas de parámetros de funciones MFC y tipos de valor devuelto. Estos tipos se definen condicionalmente de las maneras adecuadas, en función de si la compilación define el símbolo
_UNICODEo el símbolo_MBCS(lo que significa DBCS). Las distintas variantes de las bibliotecas de MFC se vinculan automáticamente con la aplicación, en función de cuál de estos dos símbolos defina la compilación.El código de la biblioteca de clases usa funciones en tiempo de ejecución portátiles y otros medios para garantizar el comportamiento correcto de Unicode o MBCS.
Todavía debe gestionar ciertos tipos de tareas de internacionalización en su código.
Use las mismas funciones portátiles en tiempo de ejecución que hacen que MFC sea portátil en cualquier entorno.
Haga que las cadenas literales y los caracteres sean portátiles en cualquiera de los entornos, mediante la macro
_T. Para obtener más información, consulte Asignaciones de texto genérico en tchar.h.Tome precauciones al analizar cadenas en MBCS. Estas precauciones no son necesarias en Unicode. Para obtener más información, consulte Sugerencias de programación de MBCS.
Tenga cuidado si mezcla caracteres ANSI (8 bits) y Unicode (16 bits) en la aplicación. Es posible usar caracteres ANSI en algunas partes del programa y caracteres Unicode en otros, pero no se pueden mezclar en la misma cadena.
No incrustar cadenas de texto de manera fija en la aplicación. En su lugar, conviértalos en recursos STRINGTABLE agregándolos al archivo .rc de la aplicación. A continuación, la aplicación se puede localizar sin necesidad de cambios en el código fuente ni volver a compilarla. Para obtener más información sobre los recursos STRINGTABLE, vea Editor de cadenas.
Nota:
Los conjuntos de caracteres europeos y MBCS tienen algunos caracteres, como letras acentuadas, con códigos de carácter mayores que 0x80. Dado que la mayoría del código usa caracteres con signo, estos caracteres mayores que 0x80 se extienden al convertirlos a int. Este es un problema para la indexación de matrices porque los caracteres con extensión de signo, al ser negativos, indexan fuera de la matriz. Los idiomas que usan MBCS, como el japonés, también son únicos. Dado que un carácter puede constar de 1 o 2 bytes, siempre debe manipular ambos bytes al mismo tiempo.