Compartir a través de


_mbsnbset_s, _mbsnbset_s_l

Establece los primeros bytes de n de una cadena de multibyte- carácter a un carácter especificado.Estas versiones de _mbsnbset, _mbsnbset_l tienen mejoras de seguridad, como se describe en Características de seguridad en CRT.

Nota importanteImportante

Esta API no se puede utilizar en las aplicaciones que se ejecutan en Windows en tiempo de ejecución.Para obtener más información, vea Funciones CRT no compatibles con /ZW.

errno_t _mbsnbset_s(
   unsigned char *str,
   size_t size,
   unsigned int c,
   size_t count 
);
errno_t _mbsnbset_s_l(
   unsigned char *str,
   size_t size,
   unsigned int c,
   size_t count,
   _locale_t locale
);
template <size_t size>
errno_t _mbsnbset_s(
   unsigned char (&str)[size],
   unsigned int c,
   size_t count 
); // C++ only
template <size_t size>
errno_t _mbsnbset_s_l(
   unsigned char (&str)[size],
   unsigned int c,
   size_t count,
   _locale_t locale
); // C++ only

Parámetros

  • str
    Cadena que se va a modificar.

  • size
    El tamaño del búfer de cadena.

  • c
    Valor de Solo- byte o de multibyte- carácter.

  • count
    Número de bytes que se establezcan.

  • locale
    Configuración regional a utilizar.

Valor devuelto

Cero si correctamente; si no, un código de error.

Comentarios

_mbsnbset_s y _mbsnbset_s_l funciona conjunto, como máximo, los primeros bytes de count de str a c.Si count es mayor que la longitud de str, la longitud de str se utiliza en lugar de count.Si c es un carácter multibyte y no se puede establecer totalmente en el byte último especificado por count, byte último se completa con un espacio._mbsnbset_s y _mbsnbset_s_l no colocan un carácter null final al final de str.

_mbsnbset_s y _mbsnbset_s_l se parecen a _mbsnset, salvo que establecen los bytes de count en lugar de caracteres de count de c.

Si str es NULL o count es cero, esta función genera una excepción no válida del parámetro, como se describe en Validación de parámetros.Si la ejecución puede continuar, errno se establece en EINVAL y la función devuelve NULL.Además, si c no es un carácter válido multibyte, errno se establece en EINVAL y un espacio se utiliza en su lugar.

El valor de salida se ve afectado por el valor de la categoría de LC_CTYPE de configuración regional; vea setlocale, _wsetlocale para obtener más información.La versión de _mbsnbset_s de esta función usa la configuración regional actual para este comportamiento configuración regional- dependiente; la versión de _mbsnbset_s_l es idéntica salvo que en su lugar utiliza el parámetro de configuración regional que se pasa.Para obtener más información, vea Configuración regional.

En C++, el uso de estas funciones es simplificado con sobrecargas de plantilla; las sobrecargas pueden deducir longitud de búfer automáticamente y por tanto eliminar la necesidad de especificar un argumento size.Para obtener más información, vea Sobrecargas de plantilla de seguridad.

Las versiones de depuración de estas funciones primero rellenan el búfer con 0xFD.Para deshabilitar este comportamiento, use _CrtSetDebugFillThreshold.

Asignaciones de la rutina de Genérico- texto

Rutina de Tchar.h

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_tcsnset_s

_strnset_s

_mbsnbset_s

_wcsnset_s

_tcsnset_s_l

_strnset_s _l

_mbsnbset_s_l

_wcsnset_s_l

Requisitos

Rutina

Encabezado necesario

_mbsnbset_s

<mbstring.h>

_mbsnbset_s_l

<mbstring.h>

Para obtener más información de compatibilidad, vea Compatibilidad.

Ejemplo

// crt_mbsnbset_s.c
#include <mbstring.h>
#include <stdio.h>

int main( void )
{
   char string[15] = "This is a test";
   /* Set not more than 4 bytes of string to be *'s */
   printf( "Before: %s\n", string );
   _mbsnbset_s( string, sizeof(string), '*', 4 );
   printf( "After:  %s\n", string );
}

Output

  

Equivalente en .NET Framework

No es aplicable Para llamar a la función estándar de C, utilice PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Vea también

Referencia

Manipulación de cadenas (CRT)

_mbsnbcat, _mbsnbcat_l

_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l