Как перекодировать текст из 1251 в KOI-8R

Вроде в МД есть какие-то функции (ну или по логике здравого смысла должны быть), а я всегда делал две строки типа char *strWIN="ABCDE...abcde...АБВГД...абвгд...123..[]{}..." и *strKOI="..." - то же самое, только в кодировке KOI, прочитанной под WIN. Потом ищешь номер буквы кодируемой строки в strWIN, и заменяешь соответствующей из strKOI. вот, в принципе, и все. Можно чуть оптимизнуть, но тормозить больше будет - убрать все кроме русских букв, а если буква не найдена, оставить старую.

Но опять же повторюсь: по логике конверторы в мастдае должны быть.
Делай ОДИН массив :
char sux[256]="\x1\x2 \x3........\x255"; //тока в КОИ8
а потом
for (x=mess;x!=0;x++)
x[0]=sux[x[0]];

//mess есть сообщение, а x - любой нравящийся указатель (хоть FARPROC :p)})