_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l
Устанавливает символы строки в указанный символ. Существуют более безопасные версии этих функций; см. раздел _strset_s, _strset_s_l, _wcsset_s, _wcsset_s_l, _mbsset_s, _mbsset_s_l.
Важно!
_mbsset и _mbsset_l не могут использоваться в приложениях, выполняемых в Среда выполнения Windows.Дополнительные сведения см. в статье Функции CRT, которые не поддерживаются с ключом /ZW.
char *_strset(
char *str,
int c
);
char *_strset_l(
char *str,
int c,
locale_t locale
);
wchar_t *_wcsset(
wchar_t *str,
wchar_t c
);
wchar_t *_wcsset_l(
wchar_t *str,
wchar_t c,
locale_t locale
);
unsigned char *_mbsset(
unsigned char *str,
unsigned int c
);
unsigned char *_mbsset_l(
unsigned char *str,
unsigned int c,
_locale_t locale
);
Параметры
str
Строка, заканчивающаяся нулевым символом, для установки.c
Параметр символов.locale
Языковой стандарт, который необходимо использовать.
Возвращаемое значение
Возвращает указатель на измененную строку.
Заметки
Функция _strset устанавливает все символы (за исключением завершающего нулевого символа) str в c, преобразованный в char. _wcsset и _mbsset_l являются расширенной и многобайтовой версиями _strset, и типы данных аргументов и возвращаемых значений различаются соответственно. В остальном эти функции ведут себя идентично.
_mbsset проверяет свои параметры. Если str является пустым указателем, то вызывается обработчик недопустимого параметра, как описано в разделе Проверка параметров. Если выполнение может быть продолжено, то _mbsset возвращает NULL и устанавливает errno в EINVAL. _strset и _wcsset не проверяют свои параметры.
Выходное значение зависит от настройки категории LC_CTYPE языкового стандарта; дополнительные сведения см. в разделе setlocale, _wsetlocale. Версии этих функций с суффиксом _l идентичны версиям без суффикса, за исключением того, что версии с суффиксом _l используют переданный параметр языкового стандарта вместо текущего языкового стандарта. Для получения дополнительной информации см. Языковой стандарт.
![]() |
---|
Эти функции могут быть подвержены угрозам переполнения буфера.Переполнение буфера можно использовать для атак на систему, поскольку оно может привести к несанкционированному повышению уровня привилегий.Дополнительные сведения см. в разделе Как избежать переполнения буфера. |
Универсальное текстовое сопоставление функций
Подпрограмма TCHAR.H |
_UNICODE & _MBCS не определены |
_MBCS определено |
_UNICODE определено |
---|---|---|---|
_tcsset |
_strset |
_mbsset |
_wcsset |
_tcsset_l |
_strset_l |
_mbsset_l |
_wcsset_l |
Требования
Подпрограмма |
Обязательный заголовок |
---|---|
_strset |
<string.h> |
_strset_l |
<tchar.h> |
_wcsset |
<string.h> или <wchar.h> |
_wcsset_l |
<tchar.h> |
_mbsset, _mbsset_l |
<mbstring.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
// crt_strset.c
// compile with: /W3
#include <string.h>
#include <stdio.h>
int main( void )
{
char string[] = "Fill the string with something.";
printf( "Before: %s\n", string );
_strset( string, '*' ); // C4996
// Note: _strset is deprecated; consider using _strset_s instead
printf( "After: %s\n", string );
}
Эквивалент в .NET Framework
Неприменимо. Для вызова стандартной функции C используйте PInvoke. Для получения дополнительной информации см. Примеры вызовов неуправляемого кода.
См. также
Ссылки
Интерпретация последовательностей в многобайтной кодировке
_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l