Share via


_strlwr, _wcslwr, _mbslwr, _strlwr_l, _wcslwr_l, _mbslwr_l

Convierte una cadena a minúsculas. Hay disponibles versiones más seguras de estas funciones; consulte _strlwr_s, _strlwr_s_l, _mbslwr_s, _mbslwr_s_l, _wcslwr_s, _wcslwr_s_l.

Importante

_mbslwr y _mbslwr_l no se pueden usar en aplicaciones que se ejecutan en Windows en tiempo de ejecución. Para obtener más información, vea Funciones de CRT no admitidas en aplicaciones de la Plataforma universal de Windows.

Sintaxis

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

Parámetros

str
Cadena terminada en NULL que se va a cambiar a minúsculas.

locale
Configuración regional que se va a usar.

Valor devuelto

Cada una de estas funciones devuelve un puntero a la cadena convertida. Dado que la modificación se hace en contexto, el puntero devuelto es el mismo que el puntero que se pasa como argumento de entrada. No se reserva ningún valor devuelto para indicar un error.

Comentarios

La función _strlwr cambia todas las mayúsculas de str a minúsculas, según lo que determina el valor de la categoría LC_CTYPE de la configuración regional. Otros caracteres no se ven afectados. Para más información sobre LC_CTYPE, consulte setlocale. Las versiones de estas funciones sin el _l sufijo usan la configuración regional actual para su comportamiento dependiente de la configuración regional; las versiones con el _l sufijo son idénticas, excepto que usan la configuración regional pasada en su lugar. Para obtener más información, vea Locale.

Las funciones _wcslwr y _mbslwr son versiones de caracteres anchos y multibyte de _strlwr. El argumento y el valor devuelto de son cadenas de _wcslwr caracteres anchos. El argumento y el valor devuelto de son cadenas de _mbslwr caracteres multibyte. Estas tres funciones se comportan exactamente igual.

Si str es un NULL puntero, se invoca el controlador de parámetros no válidos, como se describe en Validación de parámetros . Si la ejecución puede continuar, estas funciones devuelven la cadena original y establecen errno en EINVAL.

En C++, estas funciones tienen sobrecargas de plantilla que invocan los homólogos seguros más recientes de estas funciones. Para obtener más información, consulte Sobrecargas de plantillas seguras.

De manera predeterminada, el estado global de esta función está limitado a la aplicación. Para cambiar este comportamiento, consulte Estado global en CRT.

Asignaciones de rutinas de texto genérico

Rutina TCHAR.H _UNICODE y _MBCS no definidos _MBCS definido _UNICODE definido
_tcslwr _strlwr _mbslwr _wcslwr
_tcslwr_l _strlwr_l _mbslwr_l _wcslwr_l

Requisitos

Routine Encabezado necesario
_strlwr, _strlwr_l <string.h>
_wcslwr, _wcslwr_l <string.h> o <wchar.h>
_mbslwr, _mbslwr_l <mbstring.h>

Para obtener más información sobre compatibilidad, consulte Compatibilidad.

Ejemplo

// 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 );
}
Mixed: The String to End All Strings!
Lower: the string to end all strings!
Upper: THE STRING TO END ALL STRINGS!

Consulte también

Manipulación de cadenas
Configuración regional
_strupr, _strupr_l, _mbsupr, _mbsupr_l, _wcsupr_l, _wcsupr