Namespaces
Variants

wcslen, wcsnlen_s

From cppreference.net
< c ‎ | string ‎ | wide
Definido en el encabezado <wchar.h>
size_t wcslen ( const wchar_t * str ) ;
(1) (desde C95)
size_t wcsnlen_s ( const wchar_t * str, size_t strsz ) ;
(2) (desde C11)
1) Devuelve la longitud de una cadena ancha, es decir, el número de caracteres anchos no nulos que preceden al carácter ancho nulo de terminación.
2) Igual que (1) , excepto que la función retorna cero si str es un puntero nulo y retorna strsz si el carácter ancho nulo no fue encontrado en los primeros strsz caracteres anchos de src
Como con todas las funciones con verificación de límites, wcslen_s solo está garantizada que esté disponible si __STDC_LIB_EXT1__ está definida por la implementación y si el usuario define __STDC_WANT_LIB_EXT1__ a la constante entera 1 antes de incluir <stdio.h> .

Contenidos

Parámetros

str - puntero a la cadena ancha terminada en nulo que se examinará
strsz - número máximo de caracteres anchos a examinar

Valor de retorno

1) La longitud de la cadena ancha terminada en nulo str .
2) La longitud de la cadena ancha terminada en nulo str en caso de éxito, cero si str es un puntero nulo, strsz si no se encontró el carácter ancho nulo.

Notas

strnlen_s y wcsnlen_s son las únicas funciones con verificación de límites que no invocan el manejador de restricciones en tiempo de ejecución. Son funciones de utilidad puras utilizadas para proporcionar soporte limitado para cadenas no terminadas en nulo.

Ejemplo

#include <wchar.h>
#include <stdio.h>
int main(void)
{
    wchar_t str[] = L"How many wide characters does this string contain?";
    printf("without null character: %zu\n", wcslen(str));
    printf("with null character: %zu\n", sizeof str / sizeof *str);
}

Salida:

without null character: 50
with null character: 51

Referencias

  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.29.4.6.1 La función wcslen (p: 439)
  • K.3.9.2.4.1 La función wcsnlen_s (p: 646-647)
  • Estándar C99 (ISO/IEC 9899:1999):
  • 7.24.4.6.1 La función wcslen (p: 385)

Véase también

devuelve la longitud de una cadena dada
(función)