Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::ctype<CharT>::tolower,std::ctype<CharT>::do_tolower

      From cppreference.com
      <cpp‎ |locale‎ |ctype
       
       
       
      Localization library
       
       
      Defined in header<locale>
      public:
      CharT tolower( CharT c)const;
      (1)
      public:
      const CharT* tolower( CharT* beg,const CharT* end)const;
      (2)
      protected:
      virtual CharT do_tolower( CharT c)const;
      (3)
      protected:
      virtualconst CharT* do_tolower( CharT* beg,const CharT* end)const;
      (4)
      1,2) Public member function, calls the protected virtual member functiondo_tolower of the most derived class.
      3) Converts the characterc to lower case if a lower case form is defined by this locale.
      4) For every character in the character array[begend), for which a lower case form exists, replaces the character with that lower case form.

      Contents

      [edit]Parameters

      c - character to convert
      beg - pointer to the first character in an array of characters to convert
      end - one past the end pointer for the array of characters to convert

      [edit]Return value

      1,3) Lower case character orc if no lower case form is listed by this locale.
      2,4)end

      [edit]Notes

      Only 1:1 character mapping can be performed by this function, e.g. the Greek uppercase letter 'Σ' has two lowercase forms, depending on the position in a word: 'σ' and 'ς'. A call todo_tolower cannot be used to obtain the correct lowercase form in this case.

      [edit]Example

      Run this code
      #include <iostream>#include <locale> void try_lower(conststd::ctype<wchar_t>& f,wchar_t c){wchar_t up= f.tolower(c);if(up!= c)std::wcout<<"Lower case form of\'"<< c<<"' is "<< up<<'\n';elsestd::wcout<<'\''<< c<<"' has no lower case form\n";} int main(){std::locale::global(std::locale("en_US.utf8"));std::wcout.imbue(std::locale());std::wcout<<"In US English UTF-8 locale:\n";auto& f=std::use_facet<std::ctype<wchar_t>>(std::locale());    try_lower(f, L'Σ');    try_lower(f, L'Ɛ');    try_lower(f, L'A'); std::wstring str= L"HELLo, wORLD!";std::wcout<<"Lowercase form of the string '"<< str<<"' is ";    f.tolower(&str[0],&str[0]+ str.size());std::wcout<<'\''<< str<<"'\n";}

      Output:

      In US English UTF-8 locale:Lower case form of 'Σ' is σLower case form of 'Ɛ' is ɛLower case form of 'A' is aLowercase form of the string 'HELLo, wORLD!' is 'hello, world!'

      [edit]See also

      invokesdo_toupper
      (public member function)[edit]
      converts a character to lowercase
      (function)[edit]
      converts a wide character to lowercase
      (function)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/locale/ctype/tolower&oldid=160068"

      [8]ページ先頭

      ©2009-2025 Movatter.jp