_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 런타임에서 실행 되는 응용 프로그램에서 사용할 수 없습니다.자세한 내용은 /zw에 지원 되는 CRT 함수. |
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
사용 하는 로캘.
반환 값
성공적 이면 0 그렇지 않은 경우 오류 코드입니다.
이러한 함수는 인수의 유효성을 검사 합니다.경우 str null로 끝나는 문자열 유효한 아니거나 잘못 된 매개 변수 처리기를 호출 하 고 size 인수가 0 보다 작거나에 설명 된 대로 매개 변수 유효성 검사.실행을 계속 하려면 이러한 함수 반환 오류 코드를 설정한 허용 되는 경우 errno 해당 오류 코드입니다.기본 오류 코드는 EINVAL 이상의 특정 값에 적용 되지 않는 경우.
설명
이러한 함수를 첫 번째 설정, count 자 str 에 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 );
}