GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::ctype::tolower,std::ctype::do_tolower(3) C++ Standard Libary std::ctype::tolower,std::ctype::do_tolower(3)

std::ctype::tolower,std::ctype::do_tolower - std::ctype::tolower,std::ctype::do_tolower


Defined in header <locale>
public: (1)
CharT tolower( CharT c ) const;
public: (2)
const CharT* tolower( CharT* beg, const CharT* end ) const;
protected: (3)
virtual CharT do_tolower( CharT c ) const;
protected: (4)
virtual const CharT* do_tolower( CharT* beg, const CharT* end ) const;


1,2) public member function, calls the protected virtual member function do_tolower
of the most derived class.
3) Converts the character c to lower case if a lower case form is defined by this
locale.
4) For every character in the character array [beg, end), for which a lower case
form exists, replaces the character with that lower case form.


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


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


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 to do_tolower cannot be used to obtain the correct lowercase
form in this case.

// Run this code


#include <locale>
#include <iostream>


void try_lower(const std::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';
} else {
std::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";
}


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


toupper invokes do_toupper
(public member function)
tolower converts a character to lowercase
(function)
towlower converts a wide character to lowercase
(function)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.