Hlavní navigace

Názor k článku Napsat správně mezinárodní aplikaci v Qt nemusí být snadné od Jardík - Kód QString s(a+b+c+d+e+f+g); std::cout << s; je obecně špatně. Qt lze...

  • Článek je starý, nové názory již nelze přidávat.
  • 27. 12. 2010 11:45

    Jardík (neregistrovaný)

    Kód

    QString s(a+b+c+d+e+f+g);
    std::cout << s;

    je obecně špatně. Qt lze nakonfigurovat bez podpory STL, je tedy potřena zkontrolovat příslušný define, než si toto můžete v kódu dovolit (nebo si ručně přetížit daný operátor).

    Předpoklad použití UTF-8 pro názvy souborů na linuxu je opět špatný. Proto např. v glib existují funkce typu g_filename_to/from_ut­f8. Qt se o to naštěstí postará samo, pokud použijete jeho funkce. Ale tvrdit, že funkci fopen předáte utf-8 je blbost.

    UTF-16 se ve Windows používá až od Windows XP. Před tím to bylo UCS-2. Ale dobře, nemá smysl podporovat již delší dobu nepodporované verze, píšu to jen pro upřesnění.

    Při použití wchar_t není standardem zaručeno použití UTF-16 či UTF-32 a je to jen vaše doměnka. Záleží na kompilátoru, jak váš řetězec vytvoří. K tomuhle budou v C++0x prefixy u a U a nové typy char16_t a char32_t.