_strlwr_s, _strlwr_s_l, _mbslwr_s, _mbslwr_s_l, _wcslwr_s, _wcslwr_s_l

Преобразование строки в нижний регистр, используя текущий языковой стандарт или объект языкового стандарта передаваемыми.Здесь представлены версии _strlwr, _wcslwr, _mbslwr, _strlwr_l, _wcslwr_l, _mbslwr_l с усовершенствованной безопасностью, как описано в разделе Средства безопасности в CRT.

Важное примечаниеВажно

_mbslwr_s и _mbslwr_s_l нельзя использовать в приложениях, выполняемых в среды выполнения Windows.Дополнительные сведения см. в разделе Функции CRT не поддерживаются при /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

Параметры

  • str
    Завершенная объединения строки, чтобы преобразовать в нижний регистр.

  • numberOfElements
    Размер буфера.

  • locale
    Используемый языковой стандарт.

Возвращаемое значение

Ноль при успешном; ненулевое код ошибки при сбое.

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

Заметки

Функция _strlwr_s преобразует, на то, что все прописные буквы в str в нижний регистр.версия _mbslwr_s байт символов с _strlwr_s. версия _wcslwr_s является _strlwr_s.

Выходное значение зависеть на параметром параметра категории LC_CTYPE языкового стандарта; дополнительные сведения см. в разделе setlocale.Версии этих функций без суффикса _l используют текущий языковой стандарт для данной функциональности, зависящей от языкового стандарта; версии с суффиксом _l идентичны, за исключением того, что они используют переданный параметр языкового стандарта.Для получения дополнительной информации см. Языковой стандарт.

В C++ использование данных функций упрощено наличием шаблонных перегрузок; перегруженные методы могут автоматически определять длину буфера (что исключает необходимость указания аргумента с размером буфера), а также они могут автоматически заменять более старые, незащищенные функции их новыми безопасными аналогами.Для получения дополнительной информации см. Предоставляйте перегруженный шаблона.

Отладочные версии этих функций сначала заполняют буфер значением 0xFD.Для отключения данного поведения используйте _CrtSetDebugFillThreshold.

Универсальное текстовое сопоставление функций

Функция TCHAR.H

неопределенные _UNICODE & _MBCS

определенные _MBCS

Определение _UNICODE

_tcslwr_s

_strlwr_s

_mbslwr_s

_wcslwr_s

_tcslwr_s_l

_strlwr_s_l

_mbslwr_s_l

_wcslwr_s_l

Требования

Функция

Требуемый заголовок

_strlwr_s, _strlwr_s_l

<string.h>

_mbslwr_s, _mbslwr_s_l

<mbstring.h>

_wcslwr_s, _wcslwr_s_l

<string.h> или <wchar.h>

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

Пример

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

Эквивалент в .NET Framework

System::String::ToLower

См. также

Ссылки

Управление строками (CRT)

Языковой стандарт

Интерпретация последовательностей многобайтового символов

_strupr_s, _strupr_s_l, _mbsupr_s, _mbsupr_s_l, _wcsupr_s, _wcsupr_s_l