Консоль отображает русский язык нормально, но при вводе с клавиатуры русских букв
ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ
йцукенгшщзхъфывапролджэячсмитьбю
Использую getchar. Не могу понять в чём проблема. Насколько помню раньше такого не было. Нашел решение проблемы в виде:
#include <windows.h>
…
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
Но это из-за этого консоль теперь становится нечитабельной, а текст введённый в консоль отображается в Visual Studio нормально. Ввод:
char* InputString(char* charset)
{
int eIndex = -1;
charset = nullptr;
do
{
++eIndex;
charset = (char*)realloc(charset, (eIndex + 1) * sizeof(char));
do
{
charset[eIndex] = getchar();
} while (charset[eIndex] == '\n' && eIndex == 0);
} while (charset[eIndex] != '\n' && charset[eIndex] != ' ');
charset[eIndex] = '\0';
return charset;
}
Вывод:
cout << (*results[i]).name

SetConsole*возвращаютTRUE? – Cerbo Mar 11 '16 at 19:07cp-1251, в ней русская кириллица идет по порядку. – Cerbo Mar 11 '16 at 19:29