_strset_s、_wcsset_s、_wcsset_s_l、_mbsset_s、_mbsset_s_l_strset_s, _strset_s_l, _wcsset_s, _wcsset_s_l, _mbsset_s, _mbsset_s_l

文字列の文字をある文字に設定します。Sets characters of a string to a character. これらのバージョンの _strset、_strset_l、_wcsset、_wcsset_l、_mbsset、_mbsset_l は、「CRT のセキュリティ機能」にあるとおり、セキュリティが強化されています。These versions of _strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l have security enhancements, as described in Security Features in the CRT.


_mbsset_s_mbsset_s_l Windows ランタイムで実行するアプリケーションでは使用できません。_mbsset_s and _mbsset_s_l cannot be used in applications that execute in the Windows Runtime. 詳細については、「ユニバーサル Windows プラットフォーム アプリでサポートされていない CRT 関数」を参照してください。For more information, see CRT functions not supported in Universal Windows Platform apps.


errno_t _strset_s(
   char *str,
   size_t numberOfElements,
   int c
errno_t _strset_s_l(
   char *str,
   size_t numberOfElements,
   int c,
   locale_t locale
errno_t _wcsset_s(
   wchar_t *str,
   size_t numberOfElements,
   wchar_t c
errno_t *_wcsset_s_l(
   wchar_t *str,
   size_t numberOfElements,
   wchar_t c,
   locale_t locale
errno_t _mbsset_s(
   unsigned char *str,
   size_t numberOfElements,
   unsigned int c
errno_t _mbsset_s_l(
   unsigned char *str,
   size_t numberOfElements,
   unsigned int c,
   _locale_t locale


NULL で終わる、設定される文字列。Null-terminated string to be set.

サイズ、 strバッファー。The size of the str buffer.

文字設定。Character setting.

使用するロケール。Locale to use.

戻り値Return Value

正常に終了した場合は 0 を返し、それ以外の場合はエラー コードを返します。Zero if successful, otherwise an error code.

これらの関数は、引数を検証します。These functions validate their arguments. 場合strが null ポインターの場合、またはnumberOfElements引数が 0 未満または渡されたブロックが null で終わるされませんしで説明されているとおり、無効なパラメーターハンドラーが呼び出されますパラメーターの検証です。If str is a null pointer, or the numberOfElements argument is less than or equal to 0, or the block passed in is not null-terminated, then the invalid parameter handler is invoked, as described in Parameter Validation. これらの関数を返すかどうかは、引き続き実行が許可された、 EINVAL設定とerrnoEINVALします。If execution is allowed to continue, these functions return EINVAL and set errno to EINVAL.


_Strset_s関数のすべての文字を設定するstrc (に変換char)、終端の null 文字を除きます。The _strset_s function sets all the characters of str to c (converted to char), except the terminating null character. _wcsset_s_mbsset_sのワイド文字とマルチバイト文字バージョン _strset_sします。_wcsset_s and _mbsset_s are wide-character and multibyte-character versions of _strset_s. 引数と戻り値のデータ型がそれに応じて異なります。The data types of the arguments and return values vary accordingly. それ以外では、これらの関数の動作は同じです。These functions behave identically otherwise.

出力値は、ロケールの LC_CTYPE カテゴリの設定に影響されます。詳細については、「setlocale」を参照してください。The output value is affected by the setting of the LC_CTYPE category setting of the locale; see setlocale for more information. _l サフィックスが付いていないこれらの関数のバージョンでは、このロケールに依存する動作に現在のロケールを使用します。_l サフィックスが付いているバージョンは、渡されたロケール パラメーターを代わりに使用する点を除いて同じです。The versions of these functions without the _l suffix use the current locale for this locale-dependent behavior; the versions with the _l suffix are identical except that they use the locale parameter passed in instead. 詳細については、「 Locale」を参照してください。For more information, see Locale.

これらの関数のデバッグ バージョンは、最初にバッファーを 0xFD で埋めます。The debug versions of these functions first fill the buffer with 0xFD. この動作を無効にするには、_CrtSetDebugFillThreshold を使用します。To disable this behavior, use _CrtSetDebugFillThreshold.

汎用テキスト ルーチンのマップGeneric-Text Routine Mappings

TCHAR.H のルーチンTCHAR.H routine _UNICODE および _MBCS が未定義の場合_UNICODE & _MBCS not defined _MBCS が定義されている場合_MBCS defined _UNICODE が定義されている場合_UNICODE defined
_tcsset_s_tcsset_s _strset_s_strset_s _mbsset_s_mbsset_s _wcsset_s_wcsset_s
_tcsset_s_l_tcsset_s_l _strset_s_l_strset_s_l _mbsset_s_l_mbsset_s_l _wcsset_s_l_wcsset_s_l


ルーチンによって返される値Routine 必須ヘッダーRequired header
_strset_s_strset_s <string.h><string.h>
_strset_s_l_strset_s_l <tchar.h><tchar.h>
_wcsset_s_wcsset_s <string.h> または <wchar.h><string.h> or <wchar.h>
_wcsset_s_l_wcsset_s_l <tchar.h><tchar.h>
_mbsset_s, _mbsset_s_l_mbsset_s, _mbsset_s_l <mbstring.h><mbstring.h>

互換性の詳細については、「 互換性」を参照してください。For additional compatibility information, see Compatibility.


// crt_strset_s.c
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

int main( void )
   char string[] = "Fill the string with something.";
   printf( "Before: %s\n", string );
   _strset_s( string, _countof(string), '*' );
   printf( "After:  %s\n", string );
Before: Fill the string with something.
After:  *******************************

関連項目See also

文字列操作String Manipulation
マルチバイト文字のシーケンスの解釈Interpretation of Multibyte-Character Sequences
_mbsnbset、_mbsnbset_l_mbsnbset, _mbsnbset_l
memset、wmemsetmemset, wmemset
strcat、wcscat、_mbscatstrcat, wcscat, _mbscat
strcmp、wcscmp、_mbscmpstrcmp, wcscmp, _mbscmp
strcpy、wcscpy、_mbscpystrcpy, wcscpy, _mbscpy
_strnset、_strnset_l、_wcsnset、_wcsnset_l、_mbsnset、_mbsnset_l_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l