В продолжение прошлого топика, где решение так и не нашли. Итак, пытаюсь поменять регистр строки, путем прибавления, убавления hex-кода у каждого символа. По идее должно все корректно работать:
setlocale(LC_ALL, "ru_RU.UTF-8");
int i = 0;
string ts = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЬЭЮЯ!";
char sc[256];
strcpy( sc, ts.c_str() );
while(sc[i]) {
if((unsigned char)sc[i] >= 0x90 && (unsigned char)sc[i] <= 0x9f ) sc[i] = (unsigned char)sc[i] + 0x20;
if((unsigned char)sc[i] >= 0xa0 && (unsigned char)sc[i] <= 0xaf ) sc[i] = (unsigned char)sc[i] - 0x20;
i++;
}
cout << sc << endl;
абвгдеЁжзийклмнопЀЁЂЃЄЅІЇЈЉЊЌЍЎЏ!