wcscat, wcscat_s
De es.cppreference.net
| Definido en el encabezado <wchar.h>
|
||
wchar_t* wcscat( wchar_t* dest, const wchar_t* src );
|
(1) | (desde C95) (hasta C99) |
wchar_t* wcscat( wchar_t* restrict dest, const wchar_t* restrict src );
|
(desde C99) | |
errno_t wcscat_s( wchar_t* restrict dest, rsize_t destsz,
const wchar_t* restrict src );
|
(2) | (desde C11) |
1) Agrega una copia de la cadena ancha apuntada por
src al final de la cadena ancha apuntada por dest. El carácter ancho src[0] reemplaza el terminador nulo al final de dest. La cadena ancha resultante termina en nulo. El comportamiento no está definido si el arreglo destino no es lo suficientemente grande para el contenido de src y dest y el carácter ancho nulo de terminación. El comportamiento no está definido si las cadenas se superponen.2) Igual que (1), excepto que puede sobrescribir el resto del arreglo destino (desde el último carácter escrito hasta
destsz) con valores no especificados y que los siguientes errores se detectan en tiempo de ejecución y llaman a la función manejador de restricciones instalada actualmente:
srcodestes un puntero nulodestszes cero o mayor queRSIZE_MAX / sizeof(wchar_t)- no hay terminador nulo en los primeros
destszcaracteres anchos dedest - ocurriría truncamiento (el espacio disponible al final de
destno podría albergar todos los caracteres anchos, incluido el terminador nulo, desrc) - ocurriría superposición entre la cadena origen y la cadena destino
Al igual que con todas las funciones con verificación de límites,
wcscat_s solo se garantiza que esté disponible si __STDC_LIB_EXT1__ está definido por la implementación y si el usuario define __STDC_WANT_LIB_EXT1__ como la constante entera 1 antes de incluir <wchar.h>.Parámetros
| dest | - | puntero a la cadena ancha terminada en nulo a la que se va a agregar |
| src | - | puntero a la cadena ancha terminada en nulo que se va a copiar |
| destsz | - | número máximo de caracteres a escribir, normalmente el tamaño del búfer destino |
Valor de retorno
1) devuelve una copia de
dest2) devuelve cero en éxito, devuelve distinto de cero en error. Además, en error, escribe
L'\0' en dest[0] (a menos que dest sea un puntero nulo o destsz sea cero o mayor que RSIZE_MAX / sizeof(wchar_t)).Ejemplo
Ejecutar este código
#include <locale.h>
#include <stdio.h>
#include <wchar.h>
int main(void)
{
wchar_t str[50] = L"Земля, прощай.";
wcscat(str, L" ");
wcscat(str, L"В добрый путь.");
setlocale(LC_ALL, "en_US.utf8");
printf("%ls", str);
}
Salida:
Земля, прощай. В добрый путь.
Referencias
- Estándar C23 (ISO/IEC 9899:2024):
- 7.31.4.3.1 La función wcscat (pág. 439)
- K.3.9.3.2.1 La función wcscat_s (pág. 665-666)
- Estándar C17 (ISO/IEC 9899:2018):
- 7.29.4.3.1 La función wcscat (pág. 315)
- K.3.9.2.2.1 La función wcscat_s (pág. 466)
- Estándar C11 (ISO/IEC 9899:2011):
- 7.29.4.3.1 La función wcscat (pág. 432)
- K.3.9.2.2.1 La función wcscat_s (pág. 642-643)
- Estándar C99 (ISO/IEC 9899:1999):
- 7.24.4.3.1 La función wcscat (pág. 378)
Véase también
(C95)(C11) |
agrega una cierta cantidad de caracteres anchos de una cadena ancha a otra (función) |
(C11) |
concatena dos cadenas (función) |
(C95)(C11) |
copia una cadena ancha en otra (función) |
Documentación de C++ para wcscat
| |