_strlwr、 _wcslwr、 _mbslwr、 _strlwr_l、 _wcslwr_l、 _mbslwr_l
將字串轉換為小寫。 更多這些函式的可用安全版本,請參閱 _strlwr_s、 _strlwr_s_l、 _mbslwr_s、 _mbslwr_s_l、 _wcslwr_s、 _wcslwr_s_l 。
重要
_mbslwr 和 _mbslwr_l 不能用於 Windows 執行階段執行的應用程式。如需詳細資訊,請參閱 CRT 函式不支援使用 /ZW。
char *_strlwr(
char * str
);
wchar_t *_wcslwr(
wchar_t * str
);
unsigned char *_mbslwr(
unsigned char * str
);
char *_strlwr_l(
char * str,
_locale_t locale
);
wchar_t *_wcslwr_l(
wchar_t * str,
_locale_t locale
);
unsigned char *_mbslwr_l(
unsigned char * str,
_locale_t locale
);
template <size_t size>
char *_strlwr(
char (&str)[size]
); // C++ only
template <size_t size>
wchar_t *_wcslwr(
wchar_t (&str)[size]
); // C++ only
template <size_t size>
unsigned char *_mbslwr(
unsigned char (&str)[size]
); // C++ only
template <size_t size>
char *_strlwr_l(
char (&str)[size],
_locale_t locale
); // C++ only
template <size_t size>
wchar_t *_wcslwr_l(
wchar_t (&str)[size],
_locale_t locale
); // C++ only
template <size_t size>
unsigned char *_mbslwr_l(
unsigned char (&str)[size],
_locale_t locale
); // C++ only
參數
str
轉換以 Null 結束之字串為小寫。locale
使用的地區設定。
傳回值
這些函式都會傳回指標轉換為的字串。 由於修改已完成,則傳回的指標是當成指標傳遞做為輸入引數的相同。 傳回值不會保留表示錯誤。
備註
_strlwr函式轉換 str 中的所有大寫字母為小寫取決於地區設定分類的 LC_CTYPE 設定。 其他字元不會受到影響。 如需 LC_CTYPE,請參閱 setlocale。 這些函式版本沒有_l 結尾的為其地區設定相關行為使用目前的地區設定;與 _l結尾的版本相同,但使用的地區設定。 如需詳細資訊,請參閱地區設定。
_wcslwr 和 _mbslwr 函式是 _strlwr寬字元和多位元組字元版本。 引數和傳回值 _wcslwr 是寬字元字串;這些 _mbslwr 是多位元組字元字串。 這三個函式其餘部分的運作相同。
如果 str 是 NULL 指標,無效的參數叫用處理常式,如 參數驗證 中所述。 如果執行允許繼續執行,這些函式會傳回原始字串並將 errno 設為 EINVAL。
在 C++ 中,這些函式有多載樣板可以調用更新、更安全的這些函式的相對版本。 如需詳細資訊,請參閱安全範本多載。
泛用文字常式對應
TCHAR.H 常式 |
未定義 _UNICODE & _MBCS |
已定義 _MBCS |
已定義 _UNICODE |
---|---|---|---|
_tcslwr |
_strlwr |
_mbslwr |
_wcslwr |
_tcslwr_l |
_strlwr_l |
_mbslwr_l |
_wcslwr_l |
需求
程序 |
必要的標頭檔 |
---|---|
_strlwr, _strlwr_l |
<string.h> |
_wcslwr, _wcslwr_l |
<string.h> 或 <wchar.h> |
_mbslwr, _mbslwr_l |
<mbstring.h> |
如需其他相容性資訊,請參閱入門介紹中的 相容性 (Compatibility) 。
範例
// crt_strlwr.c
// compile with: /W3
// This program uses _strlwr and _strupr to create
// uppercase and lowercase copies of a mixed-case string.
#include <string.h>
#include <stdio.h>
int main( void )
{
char string[100] = "The String to End All Strings!";
char * copy1 = _strdup( string ); // make two copies
char * copy2 = _strdup( string );
_strlwr( copy1 ); // C4996
// Note: _strlwr is deprecated; consider using _strlwr_s instead
_strupr( copy2 ); // C4996
// Note: _strupr is deprecated; consider using _strupr_s instead
printf( "Mixed: %s\n", string );
printf( "Lower: %s\n", copy1 );
printf( "Upper: %s\n", copy2 );
free( copy1 );
free( copy2 );
}