How we can convert a multi language string or unicode string to upper/lower case in C or C++.
The toUpperCase() method converts a string to upper case letters. Note: The toLowerCase() method converts a string to lower case letters.
toupper() function in CThe toupper() function is used to convert lowercase alphabet to uppercase. i.e. If the character passed is a lowercase alphabet then the toupper() function converts a lowercase alphabet to an uppercase alphabet. It is defined in the ctype.
The toupper() function changes the lowercase alphabets to uppercase alphabets. Here is an example where we use toupper() for lowercase alphabets. Explanation: As the input string contains lowercase characters, the output string contains the converted uppercase of all the characters.
If your system is already in UTF-8, by using std::use_facet
, you can write:
#include <iostream>
#include <locale.h>
int main() {
std::locale::global(std::locale("")); // (*)
std::wcout.imbue(std::locale());
auto& f = std::use_facet<std::ctype<wchar_t>>(std::locale());
std::wstring str = L"Zoë Saldaña played in La maldición del padre Cardona.";
f.toupper(&str[0], &str[0] + str.size());
std::wcout << str << std::endl;
return 0;
}
And you get (http://ideone.com/AFHoHC):
ZOË SALDAÑA PLAYED IN LA MALDICIÓN DEL PADRE CARDONA.
If it don't work you will have to change (*) into std::locale::global(std::locale("en_US.UTF8"));
or an UTF-8 locale you actually have on the plateform.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With