De så kallade svenska specialtecknen (ä, å, ö, Ä, Å, Ö) visas i normalfallet inte korrekt i konsolfönstret som kör våra program. Förklaringen är kortfattat att fönstret inte använder rätt teckentabell. Det finns flera olika sätt att lösa detta. Nedan beskrivs de tre vanligaste tillvägagångssätten. För Windowssystem är den första metoden förmodligen den bästa. Om inte det fungerar, så testa en av de två andra metoderna.
Första metoden: Ändra konsolfönstrets teckentabell
Först, inkludera filen Windows.h med preprocessordirektivet #include <Windows.h>
.
Sedan, lägg in nedanstående två rader överst i main
:
SetConsoleCP(1252);
SetConsoleOutputCP(1252);
Andra metoden: Användning av objektet locale
Först, inkludera filen locale med preprocessordirektivet #include <locale>
.
Sedan, lägg in nedanstående två rader överst i main
:
locale swedish("swedish");
locale::global(swedish);
Tredje metoden: Användning av funktionen setlocale
Först, inkludera filen clocale med preprocessordirektivet #include <clocale>
.
Sedan, lägg in nedanstående rad överst i main
:
setlocale(LC_ALL, "sv_SE");