Unicode/Ansi unter Linux
-
Hi,
wollt mal fragen ob es unter Linux ähnlich wie unter windows header-dateien gibt, die einem die ganzen typdefs abnehmen um unicode/ansi kompatibel zu sein (sowas eben wie WCHAR in winnt.h windows.h) um dann einfach eine Datentypen zu verwenden bei dem dann automatisch je nachdem die richtige größe verwendet wird. Danke für eure Antworten.
Mfg Christoph
-
ansi c bietet wchar_t (<wchar.h>). dazu gibts wprintf/wscanf fuer aus/eingabe.
google mal danach.
-
danke, aber das weiß ich. Die Sache ist halt nur das es sich hierbei net um ein paar Zeilen Code handelt und das ich hier mehr sowas wie BYTE WCHAR und des ganze zeug aus der winnt.h bzw windows.h meinte. Und ich wollt halt wissen ob es vielleicht kompatible Header (zumindest im Bezug auf die Typen) dafür gibt. Trotzdem danke
Mfg Chikita
-
Machs dir halt selber. Mit ein paar Anweisungen in C wie
#ifdef USE_UNICODE #include <wchar.h> typedef wchar_t CHAR; #define PRINTF wprintf /*...*/ #else typedef char CHAR; #define PRINTF printf #endif
sollte das kein Problem sein. Falls du dein Programm übersetzen willst, schau dir mal die gettext-Bibliothek an. Diese sollte auf (fast) jedem System installiert sein.
-
Danke, aber wie du vielleicht gelesen hast ist das genau der Grund für meine Frage gewesen
. Ich
HÄTTS HALT GERN NET SELBER GEMACHT
weils a langweilige scheiß arbeit is. Bin mir sicher das des gelumpe schon irgendwo gibt(wine wird ja vermutlich auch irgendwo sowas benötigen). Aber das ja egal is ob ich a ewigkeit danach such oder es gleich selberschreib werd ich des jetz wohl machen( oh wunder ich kenne typdef und define man glaub es kaum @steve...).
Mfg
ChikitaPS: Sinnlose antworten sind ungefähr genauso nervig wie sinnlose fragen....
-
Chikita: So bekommst Du hier sicher keine Antworten. Kann doch wohl nicht Dein Ernst sein...
-
Ja okay ich weiß, des war vermutlich a bisse im Ton vergriffen aber wenn ich poste ob jemand weiß ob es einen Header gibt in dem die ganzen windows typdefs und defines bereits implementiert sind (oder zumindest ein Teil davon) und extra reinschreibe das der Grund dafür ist das ich es nicht selber machen will und dann als Antwort bekomme schreibs dir selber dann denk ich mir halt einfach les doch bitte die Frage und antworte drauf wenst was weißt und lust drauf hast und schreib net einfach was rein damit halt auch was drinsteht sondern les halt einfach erst mal die Frage anständig. Hat mich halt einfach geärgert.. Tschuldigung.
Mfg Chikita
-
ups hab des woll doch net wörtlich reingeschrieben ... ähem mist.
Na dann wirklich tschuldigung
Mfg
Chikita
-
Ok, nachdem das jetzt geklärt ist, vielleicht noch ein paar Anstöße:
Für kleine Konsolenprogramme:
Vorgehensweise wie von mir oben geschrieben
Für größere Konsolenprojekte, die eventuell mal übersetzt werden sollen:
Nimm die normale ASCII-Codierung und gettext. Du schreibst englische Texte in dein Programm. Die Übersetzung machst du mit gettext.
Wenn du ein grafisches Programm mit gtkmm erstellen willst:
Auch gtkmm funktioniert mit gettext, allerdings verwendet es UTF8, also Unicode. Siehe Tutorial oder ustring, sowie die diversen Umwandlungsfunktionen.
Wie es andere Toolkits handhaben, weiß ich nicht, aber suche mit google mal nach i18n. Wie du siehst, wird das Thema Internationalisierung unter Linux ganz anders angegangen als unter Windows mit der MFC.