Eurozeichen in C
-
Hallo,
Ich würd gerne ein Eurozeichen in C einfügen, habe noch keinen passenden Code dafür gefunden. Aussehen soll das z.B. so:
#define EURO "?" int main() { printf("Du hast 32 "EURO" bezahlt!"); }
Welcher Code muss für das ? bei #define stehen?
-
Das hängt sehr stark von deinem System ab.
Auch davon, wo die Ausgabe hingeht.
Du kannst mal nach Codepage suchen.
Ich würde das offizielle "EUR" nehmen. DAs passt immer.
Mit C hat das nichts zu tun.
-
Win7 64 bit, Dev C++, Ausgabe in die Konsole; ich hab das hier gepostet weil ich das Programm in C schreibe.
https://en.wikipedia.org/wiki/Code_page_858
Hab das hier gefunden. Code wäre 20AC unter der Index(?)nummer 213. Kommt das hin?
Ach ja, was bedeuten die Werte ganz links/unten/oben B_, 5_ etc.?
-
20AC ist der Wert im Unicode
213 ist der Code im Dezimalsystem. Das entspricht D5 im Hexadezimalsystem
Das D_ in den Zeilen gibt die 10er Stelle und die _5 in den Spalten die Einerstelle für das Hexadezimalsystem an.
Du kannst demnach das Eurozeichen mit "\xD5" definieren
Oder als "\325" (das ist der Wert im Oktalsystem.... wenn du diese Codepage hast.
-
Kommt leider immer das Selbe raus, nämlich irgend eine komische Abwandlung eines 'F'. Liegt das am Compiler? Dev C++ wird ja nicht gerade in den höchsten Tönen gelobt...
-
Nein, es liegt, wie schon mehrmals gesagt, an der Codepage.
-
Dev-Cpp ist kein compiler, aber du kannst es ruhig wegwerfen. Nimm stattdessen z.B. CodeBlocks.
Am compiler liegt es nicht wohl eher an der Konsole
-
Now I'm confused.
Dev-Cpp kein Compiler?
-
Dev-Cpp ist lediglich eine Entwicklungsumgebung in die der compiler gcc integriert ist. Es ist aber sehr verbuggt und deshalb nicht zu empfehlen.
-
Das einfachste ist aber, selber zu ermitteln, welchen Code das Euro-Zeichen hat.
Du schreibst ein Programm, welches die Zeichen von 128 bis 255 ausgibt.
for(int z = 128;z<=255;z+=16) { printf("%2x : ",z); for(int s = 0;s<16;s++) { printf("%c ",s+z); } printf("\n"); }
-
Gefäät mir. Wird übernommen dange