Hogy lehet magyar ékezetes betűket írni c++-ban?
QT Creatort használok és hiába írtam be a követkzőket:
setlocale(LC_ALL, "hun");
hu_HU.utf8 - magyar környezet, UTF-8 kódolás
hu_HU.iso88592 - magyar környezet, latin2 kódolás
hu_HU.iso88591 - magyar környezet, latin1 kódolás
hu_HU - magyar környezet, feltehetően latin2 kódolás
Mind kipróbáltam. Szóval szerintem valami az IDE-ben van rosszul beállítva, de mi?
Nekem ugyanez volt a problémám. A következő beállítások vezettek sikerre:
(1) A Qt Creator editorában windows '1250 / CP 1250'-t állítottam az alábbi helyen:
Tools | Options | Text Editor | Behavior | Default encoding
(2) Átállítottam a konzol karakterkódolását a regisztrációs adatbázisban
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
OEMCP kulcsban a 852-es kódot átírtam 1250-re, majd újraindítottam a gépet.
A teszt progi:
#include <iostream>
#include <iostream>
#include <string>
#include <locale>
#include <fstream>
using namespace std;
int main()
{
string s;
setlocale(LC_ALL, ""); // ez beállítja az op.rendszer által használt
// nyelvi környezetet, amit feltételezünk, hogy magyar
cout << "árviztűrő tükörfúrógép" << endl; // szöveg1
cout << "TÜSKÉSHÁTÚ KÍGYÓBŰVÖLŐ" << endl; // szöveg2
ifstream inf("lang.cpp"); // beolvassa saját magát
while (getline(inf, s))
cout << s << endl;
while (getline(cin, s)) // működik a konzolos beolvasás is ?
cout << s << endl;
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!