ÄäÖöÜü
-
Hey Leute,
wie kann man mit printf die Umlaute in einem String darstellen.char a[] = {"äÄöÖüÜ"};
printf("%s",a);
-
Kommt auf die Codierung an. Benutzt du UTF-8, hast du automatisch keinerlei Probleme. Bei anderen Formaten ist gegebenenfalls (aber nicht immer!) wchar_t und wprintf zu nutzen.
Du kannst die Zeichen theoretisch plattformaunabhängig mit den passenden Escapesequenzen im Quelltext hinterlegen, aber ich habe noch nie gesehen, dass das jemand tatsächlich so macht. Einfacher ist es, die Buchstaben einfach im passenden Format in den Quelltext zu schreiben.
UTF-8:
http://ideone.com/epxnch
-
char a[500] = {"ÄäÖöÜü"};
char b[500];for(int z=0, f=0;z<=500;z++, f++) {
switch(a[z]) {
case 'ö' : b[f] = 'o'; b[f+1] = 'e'; f++; break;
case 'Ö' : b[f] = 'O'; b[f+1] = 'e'; f++; break;
case 'ä' : b[f] = 'a'; b[f+1] = 'e'; f++; break;
case 'Ä' : b[f] = 'A'; b[f+1] = 'e'; f++; break;
case 'ü' : b[f] = 'u'; b[f+1] = 'e'; f++; break;
case 'Ü' : b[f] = 'U'; b[f+1] = 'e'; f++; break;
default : b[f]=a[z]; } }
printf("%s\n", b);Hab das ganze jetzt so gelöst. Ist zwar nicht gerade schön aber will jetzt auch nicht die ganze nacht daran sitzen
-
Du musst dir unbedingt nochmal (oder überhaupt)
- Arrays (Größe, Indizes und deren Grenzen)
- Post- und Preinkrement
- wie man bei Zeichenketten (C-Strings) das Ende erkennt.
ansehen.
-
Moment, deine Frage war, wie man Umlaute durch ihre Umschreibung ersetzt?
Lies mal deinen Beitrag und deine Überschrift und denk mal darüber nach, ob du diese Frage wirklich gestellt hast. Siehe ganz, ganz dringend:
http://www.c-plusplus.net/forum/200753
und
http://www.tty1.net/smart-questions_de.htmlDeine Lösung ist für das vermutete Problem (Umlaut -> Umschreibung) völlig falsch, aber das hat dir DirkB schon erklärt.