_strnset、_strnset_l、_wcsnset、_wcsnset_l、_mbsnset、_mbsnset_l_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l

文字列の文字を所定の書式に初期化します。Initializes characters of a string to a given character. これらの関数のセキュリティを強化したバージョンを使用できます。「_strnset_s、_strnset_s_l、_wcsnset_s、_wcsnset_s_l、_mbsnset_s、_mbsnset_s_l」をご覧ください。More secure versions of these functions exist; see _strnset_s, _strnset_s_l, _wcsnset_s, _wcsnset_s_l, _mbsnset_s, _mbsnset_s_l.


_mbsnset_mbsnset_l Windows ランタイムで実行するアプリケーションでは使用できません。_mbsnset and _mbsnset_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.


char *_strnset(
   char *str,
   int c,
   size_t count
char *_strnset_l(
   char *str,
   int c,
   size_t count,
   locale_t locale
wchar_t *_wcsnset(
   wchar_t *str,
   wchar_t c,
   size_t count
wchar_t *_wcsnset_l(
   wchar_t *str,
   wchar_t c,
   size_t count,
   _locale_t locale
unsigned char *_mbsnset(
   unsigned char *str,
   unsigned int c,
   size_t count
unsigned char *_mbsnset_l(
   unsigned char *str,
   unsigned int c,
   size_t count,
   _locale_t locale


変更対象の文字列。String to be altered.

文字設定。Character setting.

設定する文字数。Number of characters to be set.

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

戻り値Return Value

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


_Strnset関数設定、最大で 1 つ目カウントの文字strc (に変換char).The _strnset function sets, at most, the first count characters of str to c (converted to char). 場合カウントがの長さより大きいstrの長さstrの代わりに使用がカウントします。If count is greater than the length of str, the length of str is used instead of count.

_wcsnset_mbsnsetのワイド文字とマルチバイト文字バージョン _strnsetします。_wcsnset and _mbsnset are wide-character and multibyte-character versions of _strnset. 文字列引数と戻り値の _wcsnsetはワイド文字列 _mbsnsetはマルチバイト文字の文字列。The string arguments and return value of _wcsnset are wide-character strings; those of _mbsnset are multibyte-character strings. それ以外では、これらの関数の動作は同じです。These three functions behave identically otherwise.

_mbsnset場合に、パラメーターを検証str null ポインターの場合で説明されているとおり、無効なパラメーター ハンドラーが呼び出されますパラメーターの検証です。_mbsnset validates its parameters; if str is a null pointer, the invalid parameter handler is invoked, as described in Parameter Validation . 続けるには、実行が許可された場合 _mbsnset返しますNULL設定とerrnoEINVALします。If execution is allowed to continue, _mbsnset returns NULL and sets errno to EINVAL. _strnset_wcsnsetパラメーターを検証できません。_strnset and _wcsnset do not validate their parameters.

出力値は、ロケールの 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.

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

TCHAR.H のルーチンTCHAR.H routine _UNICODE および _MBCS が未定義の場合_UNICODE & _MBCS not defined _MBCS が定義されている場合_MBCS defined _UNICODE が定義されている場合_UNICODE defined
_tcsnset_tcsnset _strnset_strnset _mbsnbset_mbsnbset _wcsnset_wcsnset
_tcsnset_l_tcsnset_l _strnset_l_strnset_l _mbsnbset_l_mbsnbset_l _wcsnset_l_wcsnset_l


ルーチンによって返される値Routine 必須ヘッダーRequired header
_strnset_strnset <string.h><string.h>
_strnset_l_strnset_l <tchar.h><tchar.h>
_wcsnset_wcsnset <string.h> または <wchar.h><string.h> or <wchar.h>
_wcsnset_l_wcsnset_l <tchar.h><tchar.h>
_mbsnset_mbsnset_l_mbsnset, _mbsnset_l <mbstring.h><mbstring.h>

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


// crt_strnset.c
// compile with: /W3
#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( string, '*', 4 ); // C4996
   // Note: _strnset is deprecated; consider using _strnset_s
   printf( "After:  %s\n", string );
Before: This is a test
After:  **** is a test

関連項目See also

文字列操作String Manipulation
マルチバイト文字のシーケンスの解釈Interpretation of Multibyte-Character Sequences
strcat、wcscat、_mbscatstrcat, wcscat, _mbscat
strcmp、wcscmp、_mbscmpstrcmp, wcscmp, _mbscmp
strcpy、wcscpy、_mbscpystrcpy, wcscpy, _mbscpy
_strset、_strset_l、_wcsset、_wcsset_l、_mbsset、_mbsset_l_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l