_strset、_strset_l、_wcsset、_wcsset_l、_mbsset、_mbsset_l_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l

文字列の文字をある文字に設定します。Sets characters of a string to a character. これらの関数にはセキュリティが強化されたバージョンがあります。「_strset_s、_strset_s_l、_wcsset_s、_wcsset_s_l、_mbsset_s、_mbsset_s_l」を参照してください。More secure versions of these functions are available; see _strset_s, _strset_s_l, _wcsset_s, _wcsset_s_l, _mbsset_s, _mbsset_s_l.

重要

_mbsset_mbsset_lは、Windows ランタイムで実行されるアプリケーションでは使用できません。_mbsset and _mbsset_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.

構文Syntax

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
);

パラメーターParameters

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

cc
文字設定。Character setting.

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

戻り値Return Value

変更された文字列へのポインターを返します。Returns a pointer to the altered string.

RemarksRemarks

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

_mbssetは、そのパラメーターを検証します。_mbsset validates its parameters. Strが null ポインターの場合は、「パラメーターの検証」で説明されているように、無効なパラメーターハンドラーが呼び出されます。If str is a null pointer, the invalid parameter handler is invoked, as described in Parameter Validation. 実行の継続が許可された場合、 _mbssetNULLを返し、 errnoEINVALに設定します。If execution is allowed to continue, _mbsset returns NULL and sets errno to EINVAL. _strset_wcssetでは、パラメーターは検証されません。_strset and _wcsset do not validate their parameters.

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

重要

これらの関数は、バッファー オーバーランの脅威に対して脆弱な場合があります。These functions might be vulnerable to buffer overrun threats. バッファー オーバーランは、認められていない特権の昇格の原因となるため、システムの攻撃に使用される可能性があります。Buffer overruns can be used for system attacks because they can cause an unwarranted elevation of privilege. 詳しくは、「 バッファー オーバーランの回避」をご覧ください。For more information, see Avoiding Buffer Overruns.

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

TCHAR.H のルーチンTCHAR.H routine _UNICODE および _MBCS が未定義の場合_UNICODE & _MBCS not defined _MBCS が定義されている場合_MBCS defined _UNICODE が定義されている場合_UNICODE defined
_tcsset_tcsset _strset_strset _mbsset_mbsset _wcsset_wcsset
_tcsset_l_tcsset_l _strset_l_strset_l _mbsset_l_mbsset_l _wcsset_l_wcsset_l

必要条件Requirements

ルーチンによって返される値Routine 必須ヘッダーRequired header
_strset_strset <string.h><string.h>
_strset_l_strset_l <tchar.h><tchar.h>
_wcsset_wcsset <string.h> または <wchar.h><string.h> or <wchar.h>
_wcsset_l_wcsset_l <tchar.h><tchar.h>
_mbsset_mbsset_l_mbsset, _mbsset_l <mbstring.h><mbstring.h>

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

Example

// 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 );
}
Before: Fill the string with something.
After:  *******************************

関連項目See also

文字列操作String Manipulation
ロケールLocale
マルチバイト文字のシーケンスの解釈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