При работе в консольном приложении Visual ввод-вывод выполняется в кодировке ASCII, которая является международной только в первой половине кодов (от 0 до 127, см. Приложение 1). Символы национального (русского) алфавита - вторая половина кодов. Для выполнения этого можно использовать функцию CharToOem() для преобразования символов из кодировки ANSI в кодировку ASCII и функцию OemToChar() для обратного преобразования, находящиеся в библиотеке windows.h. Приведем пример их использования.
...
#include<windows.h>
char bufRus[256];
char* Rus(const char*); // Описание прототипа
void main(void)
{ int a=2;
float r=5.5;
char s[]="Минск !", s1[256];
printf("\n %s ",Rus(s));
printf("\n Vvedi string ");
gets(s1);
printf("\n %s ",s1);
printf(Rus("\n Значение а = %d r = %f\n"), a, r);
}
char* Rus(const char *text) // Функция преобразования символов
{
CharToOem(text, bufRus);
return bufRus;
}