003
25.09.2006, 19:08 Uhr
Yadgar
|
High!
Zitat von xXx: |
C++: |
#if (defined _WIN32) // oder #ifdef #define ae ((char)(132)) #else // ! defined _WIN32 #define ae ä #endif // _WIN32
|
oder was willst du haben?
|
So ähnlich:
Standardmäßig (also unter Linux) würde der Code z. B. lauten:
C++: |
cout << "Konstruktor ausgeführt" << endl;
|
sobald aber _WIN32 definiert ist, stattdessen:
C++: |
cout << "Konstruktor ausgef" << (char)129 << "hrt!" << endl;
|
ü würde also unmittelbar durch " << (char)129 << " ersetzt werden, ohne den sonst üblichen Umweg über einen Makro-Bezeichner!
Ist so etwas überhaupt möglich, oder bleibt mir nicht anderes übrig, als den Weg der konventionellen Codesubstitution zu wählen, also etwa:
C++: |
#define _WIN32
#ifdef _WIN32 #define ae (char)132 #define oe (char)148 #define ue (char)129 #define ss (char)225 /* weitere Makros für Ä, Ö und Ü */ #else #define ae "ä" #define oe "ö" #define ue "ü" #define ss "ß" /* weitere Makros für Ä, Ö und Ü */ #endif
|
so dass im Code dann stehen müsste:
C++: |
cout << "Konstruktor ausgef" << ue << "hrt!" << endl;
|
?
Bis bald im Khyberspace!
Yadgar
Now playing: Ein Träumchen am Fenster (Asmus Tietchens) -- Flagmaker - ein Programmier-Blog |