_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로 끝나는 문자열이 아니거나 크기 인수가 0 과 같거나 적을 경우, 매개 변수 유효성 검사 로 설명되는 유효한 매개 변수 처리기는 호출합니다. 이러한 집합과 함수 반환 오류 코드가 계속 실행이 허용 되는 경우 errno 해당 오류 코드를 설정합니다. 구체적인 값을 적용 하지 않는 경우, 기본 오류 코드는 EINVAL 입니다.
설명
이러한 함수는 대게 c 인 str 의 count 문자들을 설정합니다. 만약 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 );
}