_strnset_s, _strnset_s_l, _wcsnset_s, _wcsnset_s_l, _mbsnset_s, _mbsnset_s_l

Инициализация символы строки к определенному символу.Здесь представлены версии _strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l с усовершенствованной безопасностью, как описано в разделе Средства безопасности в CRT.

Важное примечаниеВажно

_mbsnset_s и _mbsnset_s_l нельзя использовать в приложениях, выполняемых в среды выполнения Windows.Дополнительные сведения см. в разделе Функции CRT не поддерживаются при /ZW.

errno_t _strnset_s(
   char *str,
   size_t numberOfElements,
   int c,
   size_t count 
);
errno_t _strnset_s_l(
   char *str,
   size_t numberOfElements,
   int c,
   size_t count,
   locale_t locale
);
errno_t _wcsnset_s(
   wchar_t *str,
   size_t numberOfElements,
   wchar_t c,
   size_t count 
);
errno_t _wcsnset_s_l(
   wchar_t *str,
   size_t numberOfElements,
   wchar_t c,
   size_t count,
   _locale_t locale
);
errno_t _mbsnset_s(
   unsigned char *str,
   size_t numberOfElements,
   unsigned int c,
   size_t count 
);
errno_t _mbsnset_s_l(
   unsigned char *str,
   size_t numberOfElements,
   unsigned int c,
   size_t count,
   _locale_t locale
);

Параметры

  • str
    Строка, которую требуется изменить.

  • numberOfElements
    Размер буфера str.

  • c
    Параметр символов.

  • count
    Число символов для задания.

  • locale
    Языковой стандарт, который необходимо использовать.

Возвращаемое значение

Ноль, если оно завершится успешно, в противном случае код ошибки.

Эти функции проверяют их аргументов.Если str не является допустимой объединения завершенной строки или аргумент размера меньше или равно 0, то обработчик вызывается недопустимого параметра, как описано в разделе Проверка параметров.Если среда выполнения может продолжить, эти функции возвращают код ошибки и набор errno к этому коду ошибки.Код ошибки по умолчанию более конкретное значение EINVAL, если не применяется.

Заметки

Эти функции были заданы, по крайней мере, первые символы countstr имеет значение c.Если count больше, чем размер str, размер str используется вместо count.Ошибка возникает, если count больше numberOfElements, и оба этих параметра превышает размер str.

_wcsnset_s и _mbsnset_s версии многобайтовой кодировки юникод и _strnset_s.Строковый аргумент _wcsnset_s характерная черта; одно из _mbsnset_s строка многобайтовой кодировки .В остальных случаях эти три функции ведут себя идентично.

Выходное значение зависеть на параметром параметра категории LC_CTYPE языкового стандарта; дополнительные сведения см. в разделе setlocale.Версии этих функций без суффикса _l используют текущий языковой стандарт для данного расширения функциональности языкового стандарта, элемента. версии с суффиксом _l идентичны за исключением того, что они используют параметры языкового стандарта, вместо этого в.Для получения дополнительной информации см. Языковой стандарт.

Отладочные версии этих функций сначала заполняют буфер значением 0xFD.Для отключения данного поведения используйте _CrtSetDebugFillThreshold.

Универсальное текстовое сопоставление функций

Функция TCHAR.H

неопределенные _UNICODE & _MBCS

определенные _MBCS

Определение _UNICODE

_tcsnset_s

_strnset_s

_mbsnbset_s

_wcsnset_s

_tcsnset_s_l

_strnset_s_l

_mbsnbset_s_l

_wcsnset_s_l

Требования

Функция

Требуемый заголовок

_strnset_s

<string.h>

_strnset_s_l

<tchar.h>

_wcsnset_s

<string.h> или <wchar.h>

_wcsnset_s_l

<tchar.h>

_mbsnset_s, _mbsnset_s_l

<mbstring.h>

Дополнительные сведения о совместимости см. в разделе Совместимость во введении.

Пример

// crt_strnset_s.c
#include <string.h>
#include <stdio.h>

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

Эквивалент в .NET Framework

System::String::Replace

См. также

Ссылки

Управление строками (CRT)

Языковой стандарт

Интерпретация последовательностей многобайтового символов

strcat, wcscat, _mbscat

strcmp, wcscmp, _mbscmp

strcpy, wcscpy, _mbscpy

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l