Я предполагаю, что вы работаете в Windows.
В результате ваш исходный код написан на Unicode, и поэтому символ è
кодируется как число 232. Компилятор использует это значение в сгенерированной программе.
Когда ваша программа выполняется, этот код отправляется как параметр функции printf
, но, поскольку Windows использует Extended ASCII, он интерпретируется как Þ
при печати его в консоли.
Вы можете кодировать ваши файлы в Extended ASCII, чтобы иметь правильные символы.
Чтобы определить, какую кодировку использует ваша консоль, вы можете использовать это в Windows:
#include <windows.h>
unsigned cp = GetConsoleOutputCP();
Вы можете изменить консолькодирование следующим образом:
#include <windows.h>
SetConsoleOutputCP(1252); //Set console encoding to Windows 1252
SetConsoleOutputCP(65001); //Set console encoding to utf8
Устанавливает вывод консоли, но не ввод консоли, поэтому, если вам нужно работать с расширенным вводом пользователя ASCII, вам нужно использовать GetConsoleCP () и SetConsoleCP () для установки кодировки ввода.
Здесь вы можете увидеть другие доступные коды кодовых страниц здесь .