_strlwr_s
, , _strlwr_s_l
_mbslwr_s
, _mbslwr_s_l
, , _wcslwr_s
,_wcslwr_s_l
Mengonversi string menjadi huruf kecil, dengan menggunakan lokal saat ini atau objek lokal yang diteruskan. Versi , , _mbslwr
_wcslwr
, _strlwr_l
, , _wcslwr_l
, ini _mbslwr_l
memiliki peningkatan keamanan, seperti yang dijelaskan dalam Fitur keamanan di CRT._strlwr
Penting
_mbslwr_s
dan _mbslwr_s_l
tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime. Untuk informasi selengkapnya, lihat Fungsi CRT yang tidak didukung di aplikasi Platform Windows Universal.
Sintaks
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
Parameter
str
String yang dihentikan null untuk dikonversi ke huruf kecil.
numberOfElements
Ukuran buffer.
locale
Lokal yang akan digunakan.
Nilai hasil
Nol jika berhasil; kode kesalahan non-nol pada kegagalan.
Fungsi-fungsi ini memvalidasi parameternya. Jika str
bukan string yang dihentikan null yang valid, handler parameter yang tidak valid dipanggil, seperti yang dijelaskan dalam Validasi parameter . Jika eksekusi diizinkan untuk melanjutkan, fungsi kembali EINVAL
dan diatur errno
ke EINVAL
. Jika numberOfElements
kurang dari panjang string, fungsi juga mengembalikan EINVAL
dan mengatur errno
ke EINVAL
.
Keterangan
Fungsi ini _strlwr_s
mengonversi, di tempat, huruf besar apa pun menjadi str
huruf kecil. _mbslwr_s
adalah versi karakter multi-byte dari _strlwr_s
. _wcslwr_s
adalah versi karakter luas dari _strlwr_s
.
Nilai output dipengaruhi oleh pengaturan LC_CTYPE
pengaturan kategori lokal. Untuk informasi selengkapnya, lihat setlocale
. Versi fungsi-fungsi ini tanpa _l
akhiran menggunakan lokal saat ini untuk perilaku tergantung lokal ini; versi dengan _l
akhiran identik kecuali bahwa mereka menggunakan parameter lokal yang diteruskan sebagai gantinya. Untuk informasi selengkapnya, lihat Lokal.
Di C++, menggunakan fungsi-fungsi ini disederhanakan oleh kelebihan beban templat; kelebihan beban dapat menyimpulkan panjang buffer secara otomatis (menghilangkan kebutuhan untuk menentukan argumen ukuran) dan mereka dapat secara otomatis mengganti fungsi lama yang tidak aman dengan rekan-rekan yang lebih baru dan aman. Untuk informasi selengkapnya, lihat Mengamankan kelebihan beban templat.
Versi pustaka debug dari fungsi-fungsi ini terlebih dahulu mengisi buffer dengan 0xFE. Untuk menonaktifkan perilaku ini, gunakan _CrtSetDebugFillThreshold
.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Pemetaan rutin teks generik
TCHAR. Rutinitas H | _UNICODE dan _MBCS tidak ditentukan |
_MBCS Didefinisikan |
_UNICODE Didefinisikan |
---|---|---|---|
_tcslwr_s |
_strlwr_s |
_mbslwr_s |
_wcslwr_s |
_tcslwr_s_l |
_strlwr_s_l |
_mbslwr_s_l |
_wcslwr_s_l |
Persyaratan
Rutin | Header yang diperlukan |
---|---|
_strlwr_s , _strlwr_s_l |
<string.h> |
_mbslwr_s , _mbslwr_s_l |
<mbstring.h> |
_wcslwr_s , _wcslwr_s_l |
<string.h> atau <wchar.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Contoh
// 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!
Lihat juga
Manipulasi string
Lokal
Interpretasi urutan karakter multibyte
_strupr_s
, , _strupr_s_l
_mbsupr_s
, _mbsupr_s_l
, , _wcsupr_s
,_wcsupr_s_l