Funciones estándar de C
Las bibliotecas en tiempo de ejecución de C estándar contienen versiones unicode UTF-16 (caracteres anchos) de funciones de cadena que se pueden usar con Unicode y versiones orientadas a bytes de funciones de cadena que se pueden usar con caracteres de conjuntos de caracteres de un solo byte (SBCS). El tipo de datos Unicode WCHAR es compatible con el tipo de datos wchar_t en ANSI C y permite el acceso a las funciones de cadena Unicode. Las versiones Unicode de las funciones comienzan con las letras "wcs" (o a veces "_wcs"). El tipo de datos CHAR usado para las páginas de códigos es compatible con el tipo de datos de caracteres char en ANSI C, para permitir el acceso a las funciones de cadena de caracteres. Las versiones de caracteres de las funciones comienzan con las letras "str". También hay versiones especiales para juegos de caracteres de doble byte (DBCSs) que comienzan con las letras "_mbs".
Las bibliotecas de tiempo de ejecución de C estándar incluyen funciones genéricas para todas las funciones de cadena de C estándar. Comienzan por "_tcs" y se enumeran en el archivo de encabezado Tchar.h. Estas funciones usan el tipo de datos TCHAR genérico.
Una aplicación debe agregar las siguientes líneas para usar las funciones genéricas y compilar para Unicode.
#define _UNICODE
#include <tchar.h>
#include <wchar.h>
Tenga en cuenta que los archivos Tchar.h y Wchar.h son necesarios y que también se requiere el carácter de subrayado inicial en la variable _UNICODE. Esta nomenclatura es específica de la biblioteca estándar de C. "UNICODE" representado sin el carácter de subrayado es para los entornos de ejecución de Microsoft Windows.
Las funciones de wcstombs y mbstowcs pueden convertir del juego de caracteres compatible con la biblioteca estándar de C a Unicode y atrás, con algunas limitaciones. Para obtener más información sobre cómo traducir cadenas a y desde Unicode, vea Translation Between String Types.
La función printf definida en Tchar.h admite las mismas especificaciones de formato que las funciones de impresión Strsafe.h, por ejemplo, StringCbPrintf. Del mismo modo, Tchar.h define una función wprintf, en la que la propia cadena de formato es una cadena Unicode.
Cautela
El control deficiente del búfer está implicado en muchos problemas de seguridad que implican saturaciones de búfer. Vea Strsafe.h Reference. Las funciones definidas en Strsafe.h proporcionan procesamiento adicional para el control adecuado del búfer en el código. Están diseñados para reemplazar sus homólogos integrados de C/C++, así como implementaciones específicas de Microsoft Windows. Para obtener más información, vea Consideraciones de seguridad: Características internacionales.
Temas relacionados