Проблемы с кодировкой Windows-1251

Русские символы возвращают отрицательные коды, вместо кодов от 192 до 255. system("chcp 1251"); прописано. Как использовать нормальные коды вместо отрицательных? введите сюда описание изображения


Ответы (1 шт):

Автор решения: Генс
/* Если у вас Windows!!!
Вот так и printf("Введите:"); не будет выводить краказябры
и коды символов будут такие как вы хотите.
*/
#include <stdio.h>
#include <windows.h>
#include <locale.h>
#include <wctype.h>
#include <stdlib.h>
#include <wchar.h>

int main(void)
{
    setlocale(LC_CTYPE, "RU");
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
int total=-1;
wchar_t ch;
printf("Введите текст:\n");
while((ch=getchar( ))!='\n')
{
    total++;
    if(total%8==0)
         putchar('\n');
    putchar(ch);
    printf("-%d ",ch);
}
    return 0;
}
→ Ссылка