C++ fordító && ékezetes karakterek problémája?
Az a helyzet, hogy már órák óta szerencsétlenkedek vele.
A parancsorban egyszerűen nem hajlandóak megjelenni az ékezetes karakterek. Átolvastam már szinte a fél googlet, megpróbáltam mindent, setlocale, kódlap váltást(chcp),
utf-8 kódolást de sehogy nem jön össze. Se print, se cout.
C++-on kívül, egyszerűen a parancssorból 'echo'-val beírt ékezetek látszanak.
MinGW és Notepad++ párost használok.
Parancssorból fordítom (g++) és futtatom.
Win7 ultimate x64
#include <iostream>
int main() {
std::cout << "Árvíztűrő tükörfúrógép" << std::endl;
std::cout << "TÜSKÉSHÁTÚ KÍGYÓBŰVÖLŐ" << std::endl;
return 0;
}
A parancssorba írd be: chcp
Ez megadja a kódlapot. Ezt állítsd be a Notepad++-ban is a forráskódhoz.
SetConsoleCP()
SetConsoleOutputCP()
Kérek majd megerősítést, de ha jól gondolom, két gond is van.
- Az egyik, hogy a fordító milyen kódolás alapján értelmezi a forrásfájlt, és rakja a lefordított kódba a konstans sztringeket. (Vagy csak fogja és beborítja a kész kódba?)
- A másik, hogy futáskor ezt hogyan kezeli a konzol.
Engem még az érdekelne, hogy milyen kódolású a file :D
Amit én írtam (setlocale(LC_ALL,"Hun");), látszólag nem minden karakter kódolással hajlandó együttműködni :D
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!