_strlwr_s、_strlwr_s_l、_mbslwr_s、_mbslwr_s_l、_wcslwr_s、_wcslwr_s_l_strlwr_s, _strlwr_s_l, _mbslwr_s, _mbslwr_s_l, _wcslwr_s, _wcslwr_s_l

現在のロケールまたは渡されたロケール オブジェクトを使用して、文字列を小文字に変換します。Converts a string to lowercase, by using the current locale or a locale object that's passed in. これらのバージョンの _strlwr、_wcslwr、_mbslwr、_strlwr_l、_wcslwr_l、_mbslwr_l は、「CRT のセキュリティ機能」にあるとおり、セキュリティが強化されています。These versions of _strlwr, _wcslwr, _mbslwr, _strlwr_l, _wcslwr_l, _mbslwr_l have security enhancements, as described in Security Features in the CRT.

重要

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

構文Syntax

errno_t _strlwr_s(
   char *str,
   size_t numberOfElements
);
errno_t _strlwr_s_l(
   char *str,
   size_t numberOfElements,
   _locale_t locale
);
errno_t _mbslwr_s(
   unsigned char *str,
   size_t numberOfElements
);
errno_t _mbslwr_s_l(
   unsigned char *str,
   size_t numberOfElements,
   _locale_t locale
);
errno_t _wcslwr_s(
   wchar_t *str,
   size_t numberOfElements
);
errno_t _wcslwr_s_l(
   wchar_t *str,
   size_t numberOfElements,
   _locale_t locale
);
template <size_t size>
errno_t _strlwr_s(
   char (&str)[size]
); // C++ only
template <size_t size>
errno_t _strlwr_s_l(
   char (&str)[size],
   _locale_t locale
); // C++ only
template <size_t size>
errno_t _mbslwr_s(
   unsigned char (&str)[size]
); // C++ only
template <size_t size>
errno_t _mbslwr_s_l(
   unsigned char (&str)[size],
   _locale_t locale
); // C++ only
template <size_t size>
errno_t _wcslwr_s(
   wchar_t (&str)[size]
); // C++ only
template <size_t size>
errno_t _wcslwr_s_l(
   wchar_t (&str)[size],
   _locale_t locale
); // C++ only

パラメーターParameters

strstr
小文字に変換する、NULL で終わる文字列。Null-terminated string to convert to lowercase.

numberOfElementsnumberOfElements
バッファーのサイズ。Size of the buffer.

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

戻り値Return Value

正常終了した場合は 0 を返します。失敗した場合は 0 以外のエラー コードを返します。Zero if successful; a non-zero error code on failure.

これらの関数では、パラメーターの検証が行われます。These functions validate their parameters. 場合strは有効な null で終わる文字列はありません」の説明に従って、無効なパラメーター ハンドラーが呼び出されるパラメーターの検証です。If str is not a valid null-terminated string, the invalid parameter handler is invoked, as described in Parameter Validation . 関数を返すかどうかは、引き続き実行が許可された、 EINVAL設定とerrnoEINVALします。If execution is allowed to continue, the functions return EINVAL and set errno to EINVAL. 場合numberOfElements返すことも、関数が、文字列の長さより小さいEINVAL設定とerrnoEINVALします。If numberOfElements is less than the length of the string, the functions also return EINVAL and set errno to EINVAL.

RemarksRemarks

_Strlwr_sの場所で、関数に変換内の大文字strを小文字にします。The _strlwr_s function converts, in place, any uppercase letters in str to lowercase. _mbslwr_sのマルチバイト文字バージョンです _strlwr_sします。_mbslwr_s is a multi-byte character version of _strlwr_s. _wcslwr_sのワイド文字バージョンは、 _strlwr_sします。_wcslwr_s is a wide-character version of _strlwr_s.

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

C++ では、これらの関数の使用はテンプレートのオーバーロードによって簡素化されます。オーバーロードでは、バッファー長を自動的に推論できる (サイズの引数を指定する必要がなくなる) だけでなく、古くてセキュリティが万全ではない関数を新しく安全な関数に自動的に置き換えることができます。In C++, using these functions is simplified by template overloads; the overloads can infer buffer length automatically (eliminating the need to specify a size argument) and they can automatically replace older, non-secure functions with their newer, secure counterparts. 詳細については、「 Secure Template Overloads」を参照してください。For more information, see Secure Template Overloads.

これらの関数のデバッグ バージョンは、最初にバッファーを 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
_tcslwr_s_tcslwr_s _strlwr_s_strlwr_s _mbslwr_s_mbslwr_s _wcslwr_s_wcslwr_s
_tcslwr_s_l_tcslwr_s_l _strlwr_s_l_strlwr_s_l _mbslwr_s_l_mbslwr_s_l _wcslwr_s_l_wcslwr_s_l

必要条件Requirements

ルーチンによって返される値Routine 必須ヘッダーRequired header
_strlwr_s_strlwr_s_l_strlwr_s, _strlwr_s_l <string.h><string.h>
_mbslwr_s_mbslwr_s_l_mbslwr_s, _mbslwr_s_l <mbstring.h><mbstring.h>
_wcslwr_s_wcslwr_s_l_wcslwr_s, _wcslwr_s_l <string.h> または <wchar.h><string.h> or <wchar.h>

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

Example

// crt_strlwr_s.cpp
// This program uses _strlwr_s and _strupr_s to create
// uppercase and lowercase copies of a mixed-case string.
//

#include <string.h>
#include <stdio.h>
#include <stdlib.h>

int main()
{
   char str[] = "The String to End All Strings!";
   char *copy1, *copy2;
   errno_t err;

   err = _strlwr_s( copy1 = _strdup(str), strlen(str) + 1);
   err = _strupr_s( copy2 = _strdup(str), strlen(str) + 1);

   printf( "Mixed: %s\n", str );
   printf( "Lower: %s\n", copy1 );
   printf( "Upper: %s\n", copy2 );

   free( copy1 );
   free( copy2 );

   return 0;
}
Mixed: The String to End All Strings!
Lower: the string to end all strings!
Upper: THE STRING TO END ALL STRINGS!

関連項目See also

文字列操作String Manipulation
ロケールLocale
マルチバイト文字のシーケンスの解釈Interpretation of Multibyte-Character Sequences
_strupr_s、_strupr_s_l、_mbsupr_s、_mbsupr_s_l、_wcsupr_s、_wcsupr_s_l_strupr_s, _strupr_s_l, _mbsupr_s, _mbsupr_s_l, _wcsupr_s, _wcsupr_s_l