Die Sache mit den Sonderzeichen



  • Hallöchen zusammen,

    ich bin gerade dabei C zu lernen, habe aber ein Problem mit den Sonderzeichen. Aus anderen Programmiersprachen kenne ich den Variablentyp "String" den es in C (zumindest in C selbst) ja nicht gibt. Ein char-Array kann aber keine Sonderzeichen enthalten.

    {
      char zeichenkette[] = "äöü€€€öäü";
      printf("Ausgabe: '%s'\n", zeichenkette);
    }
    

    Die Ausgabe ist dann: "Ausgabe äöüäöü", die €€€ entfallen einfach. Leider habe ich bisher keine Website gefunden, die mir den Umgang mit dieser Problematik erläutert. Irgendwo habe ich gelesen mal soll wchar-t benutzen, aber wenn ich dann

    {
      wchar_t zeichenkette[] = L"äöü€€€äöü";
      printf("Ausgabe: '%s'\n", zeichenkette);
    }
    

    mache, bekomme ich nur "Ausgabe ä". Außerdem kann ich wchar_t-Zeichenketten ja nicht an Funktionen à la strcpy, strcmp, etc übergeben, da die ja ein char-Typ erwarten. Mich irritert diese Problematik ziemlich.

    Vielleicht ha ja jemand eine gute Page auf der das erläutert wird!? Bin auf jeden Fall über jeden Tipp dankbar.


Anmelden zum Antworten