Строка для нижнего/верхнего уровня в C++

> std::string data = “Abc”; 
> std::transform(data.begin(), data.end(), data.begin(), ::toupper);

Это будет работать, но будет string использоваться стандартная c++ локаль "C". Вы можете использовать str фасеты, если вам нужно получить string-manipulation более низкий уровень для cxx другой локали. Приведенный c++ выше код с использованием strings фасетов будет выглядеть так:

locale loc("");
const ctype& ct = use_facet >(loc);
transform(str.begin(), str.end(), std::bind1st(std::mem_fun(&ctype::tolower), &ct));

c++

string

unicode

2022-10-15T13:13:11+00:00