Поделиться через


_strlwr, , _wcslwr_strlwr_l_mbslwr_wcslwr_l,_mbslwr_l

Преобразует строку в нижний регистр. Доступны более безопасные версии этих функций; see_strlwr_s, _strlwr_s_l_wcslwr_s_l_mbslwr_s_wcslwr_s_mbslwr_s_l.

Внимание

Функции _mbslwr и _mbslwr_l не могут использоваться в приложениях, запускаемых в среде выполнения Windows. Дополнительные сведения: Функции CRT, которые не поддерживаются в приложениях универсальной платформы Windows.

Синтаксис

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 идентичны, за исключением того, что они используют переданный языковой стандарт. Дополнительные сведения см. в разделе Locale.

Функции _wcslwr и _mbslwr являются версиями функции _strlwr для расширенных и многобайтовых символов. Аргумент и возвращаемое значение _wcslwr являются строками расширенных символов. Аргумент и возвращаемое значение _mbslwr являются строками многобайтовых символов. В остальном эти три функции ведут себя идентично.

Если str это NULL указатель, вызывается обработчик недопустимых параметров, как описано в разделе проверки параметров. Если продолжение выполнения разрешено, эти функции возвращают исходную строку и устанавливают для errno значение EINVAL.

В C++ эти функции имеют шаблонные перегрузки, которые вызывают более новые и безопасные аналоги этих функций. Дополнительные сведения см. в разделе "Безопасные перегрузки шаблонов".

По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.

Сопоставления подпрограмм универсального текста

Подпрограмма 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>

Дополнительные сведения о совместимости см. в разделе Совместимость.

Пример

// 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!

См. также

Обработка строк
Локаль
_strupr, , _strupr_l_mbsupr_l_mbsupr_wcsupr_l,_wcsupr