Udostępnij za pośrednictwem


_strlwr_s, _strlwr_s_l, _mbslwr_s, _mbslwr_s_l, _wcslwr_s, _wcslwr_s_l

Konwertowanie ciągu na małe litery, przy użyciu bieżących ustawień regionalnych lub przekazany obiekt ustawień regionalnych.Są to wersje _strlwr, _wcslwr, _mbslwr, _strlwr_l, _wcslwr_l, _mbslwr_l z ulepszeń zabezpieczeń, zgodnie z opisem w Funkcje zabezpieczeń w CRT.

Ważna uwagaWażne

_mbslwr_si _mbslwr_s_l nie można używać w aplikacji, których wykonywanie w czasie wykonywania systemu Windows.Aby uzyskać więcej informacji, zobacz CRT funkcje nie obsługiwane przez /ZW.

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

Parametry

  • str
    Ciąg zakończony zerem, przekonwertowane na małe litery.

  • numberOfElements
    Rozmiar buforu.

  • locale
    Ustawienia regionalne używane.

Wartość zwracana

Zero, jeśli kończy się pomyślnie; Kod błędu różna od zera w przypadku awarii.

Te funkcje sprawdzania poprawności ich parametrów.Jeśli str nie jest prawidłowy ciąg zakończony znakiem null, moduł obsługi nieprawidłowy parametr jest wywoływana, zgodnie z opisem w Sprawdzanie poprawności parametru .Jeśli wykonanie może kontynuować, funkcje zwracają wartość EINVAL i errno do EINVAL.Jeśli numberOfElements jest mniejsza niż długość ciągu, także zwracają EINVAL i errno do EINVAL.

Uwagi

_strlwr_s Funkcja konwertuje, w miejscu, dowolne wielkie litery w str na małe litery._mbslwr_sjest ona wielobajtowego znaków do _strlwr_s._wcslwr_s jest wersją szerokich znaków _strlwr_s.

Wartość produkcji jest zależny od ustawienia z LC_CTYPE kategorii ustawienie regionalne tzn. zobacz setlocale Aby uzyskać więcej informacji.Wersje te funkcje, bez _l sufiks Użyj bieżących ustawień regionalnych tego zachowania zależne od ustawień lokalnych; wersje z _l sufiks są identyczne z tym, że używają zamiast przekazany parametr ustawień regionalnych.Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.

W języku C++ korzystając z tych funkcji jest uproszczony przez przeciążenia szablonu; przeciążenia mogą wywnioskować długość buforu automatycznie (eliminując konieczność, aby określić argument rozmiar) i starszych, które nie są bezpieczne funkcje mogą automatycznie zastąpić z ich odpowiednikami nowsze, bezpieczne.Aby uzyskać więcej informacji, zobacz Secure, szablon Overloads.

Wersje do debugowania tych funkcji najpierw wypełnić bufor z 0xFD.Aby wyłączyć to zachowanie, należy użyć _CrtSetDebugFillThreshold.

Tekst rodzajowy rutynowych mapowania

TCHAR.Rozpoczęto wykonywanie procedury h

_UNICODE & _MBCS nie zdefiniowany

_MBCS, definicja

_UNICODE, definicja

_tcslwr_s

_strlwr_s

_mbslwr_s

_wcslwr_s

_tcslwr_s_l

_strlwr_s_l

_mbslwr_s_l

_wcslwr_s_l

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

_strlwr_s, _strlwr_s_l

<string.h>

_mbslwr_s, _mbslwr_s_l

<mbstring.h>

_wcslwr_s, _wcslwr_s_l

<string.h> lub <wchar.h>

Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.

Przykład

// 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;
}
  
  
  

Odpowiednik w programie .NET Framework

System::String::ToLower

Zobacz też

Informacje

Manipulowanie ciągami (CRT)

Ustawienia regionalne

Interpretacja sekwencje znaków wielobajtowych

_strupr_s, _strupr_s_l, _mbsupr_s, _mbsupr_s_l, _wcsupr_s, _wcsupr_s_l