000
27.09.2003, 23:16 Uhr
~werner gross
Gast
|
Hallo,
Ich bin Anfänger in C und kenne mich auch in der Informatik nicht so gut aus. Ich habe mir den Bloodshed DEV-C++ Compiler heruntergeladen und auf meinem Windows 2000 Professional Rechner installiert. Ich programmiere unter der DOS-Konsole. Das erste Programm "Hallo Welt" hat auch sogleich fein hingehauen. Jetzt habe ich allerdings gleich mehrere Fragen :
1. Frage : Zeichensatz
Ich finde keinen anderen Weg die deutschen Umlaute (ü,ä, etc.) sowie andere speziellen Zeichen wie etwa dans französische "î" oder "é" auf dem Bildschirm ausgeben als :
- Entweder nehme ich jedesmal den Umweg über die Funktion CharToOem() wie zum beispiel :
C++: |
#include <stdio.h> #include <windows.h>
int main() { char Oem[2]; CharToOem("ö", Oem); printf("%x\n", (unsigned char)Oem[0]); return (0); }
|
- Oder ich gebe eben den Buchstaben jedesmal von Hand direkt als Konstante ein, zum Beispiel printf("%c\n", '\x94') um ein "ö" zu schreiben - Muß mir vorher natÜrlich eine entsprechende Liste aller von mir verwendeten speziellen Zeichen erstellt habe.
Beides finde ich sehr umständlich. Gibt es keine andere Lösung? Kann ich nicht irgendwo den Compiler anders einstellen damit er den normalen DOS Zeichensatz verwendet? Ich weiß auch gar nicht mit was für einem Zeichensatz der Compiler tatsächlich arbeitet?
2. Frage : EOF
Wie erzeuge ich auf der Tastatur ein EOF damit folgendes kleine Program die while-Schleife verläßt?
C++: |
#include <stdio.h> main() { int c; int i = 0; printf("EOF internally represented by %d\n",EOF); // -1 while((c=getchar())!= EOF) { putchar(c); ++i; } printf("%d characters received and displayed",i); getchar(); }
|
Vielen Dank für Eure Hilfe
Werner Gross
--edit: Pablo. [ cpp ] tags gesetzt -- Dieser Post wurde am 27.09.2003 um 23:21 Uhr von Pablo Yanez Trujillo editiert. |