Compartir a través de


_mbsnbset, _mbsnbset_l

Establezca los primeros bytes de n de una cadena de multibyte- carácter a un carácter especificado.Versiones más seguras de estas funciones están disponibles; vea _mbsnbset_s, _mbsnbset_s_l.

Nota importanteImportante

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

unsigned char *_mbsnbset(
   unsigned char *str,
   unsigned int c,
   size_t count 
);
unsigned char *_mbsnbset_l(
   unsigned char *str,
   unsigned int c,
   size_t count,
   _locale_t locale
);

Parámetros

  • str
    Cadena que se va a modificar.

  • 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

_mbsnbset devuelve un puntero a la cadena modificada.

Comentarios

_mbsnbset y _mbsnbset_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 y _mbsnbset_l no coloca un carácter null final al final de str.

_mbsnbset y _mbsnbset_l es similar a _mbsnset, salvo que establece 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 tal 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 para obtener más información.La versión de _mbsnbset de esta función usa la configuración regional actual para este comportamiento configuración regional- dependiente; la versión de _mbsnbset_l es idéntica excepto que uso que el parámetro locale pasó en su lugar.Para obtener más información, vea Configuración regional.

Nota de seguridad Esta API incurre en una amenaza potencial causada por un problema de saturación del búfer.Los problemas de saturación del búfer es un método frecuente de ataque del sistema, lo que da como resultado una elevación de privilegios injustificable.Para obtener más información, vea Para evitar las saturaciones del búfer.

Asignaciones de la rutina de Genérico- texto

Rutina de Tchar.h

_UNICODE y _MBCS no definidos

_MBCS definido

_UNICODE definido

_tcsnset

_strnset

_mbsnbset

_wcsnset

_tcsnset_l

_strnset_l

_mbsnbset_l

_wcsnset_l

Requisitos

Rutina

Encabezado necesario

_mbsnbset

<mbstring.h>

_mbsnbset_l

<mbstring.h>

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

Ejemplo

// crt_mbsnbset.c
// compile with: /W3
#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( string, '*', 4 ); // C4996
   // Note; _mbsnbset is deprecated; consider _mbsnbset_s
   printf( "After:  %s\n", string );
}

Output

Before: This is a test
After:  **** is a test

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 La invocación de plataforma ejemplos.

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