Anzeige:
Ergebnis 1 bis 7 von 7

Thema: wout oder wcout in C++

  1. #1
    Registrierter Benutzer Avatar von lokicall
    Registriert seit
    17.12.2005
    Beiträge
    53

    wout oder wcout in C++

    Hallo,

    ich lese mich grad in C++ ein( Buch Jürgen Wolf C++ von A bis Z).
    Auf Seite 51 steht, das man für die Ausgabe von Unicode Streams wout nutzen muss. Leider gibt er mir nur Fehlermeldungen zurück, weil er wout nicht kennt. Wenn ich wout durch wcout ersetze geht das kompilieren zwar aber es kommt kein Sonderzeichen. Ich habe dies bisher unter Linux getestet.
    Code:
    #include <iostream>
    #include <stdlib.h>
    
    using namespace std;
        
        int main()
        {
            wchar_t omega = L' ';
            wcout << omega << endl;
            return EXIT_SUCCESS;
        }
    Wie kann ich denn testen, ob er das richtige Zeichen ausgibt?
    Funktioniert der Code bei euch?

    PS: laut Buch soll das ausgegebene Zeichen ein griech. omega sein.

  2. #2
    Registrierter Benutzer Avatar von Boron
    Registriert seit
    07.01.2002
    Beiträge
    827
    Das hier habe ich mal aus dem iostream Header rauskopiert:
    Code:
    #ifdef _GLIBCXX_USE_WCHAR_T
      extern wistream wcin;		///< Linked to standard input
      extern wostream wcout;	///< Linked to standard output
      extern wostream wcerr;	///< Linked to standard error (unbuffered)
      extern wostream wclog;	///< Linked to standard error (buffered)
    #endif
    Wie du siehst gibt es kein wout, sondern höchstens ein wcout.
    Und das ist auch nur benutzbar, wenn _GLIBCXX_USE_WCHAR_T definiert wurde.

    Wo das jetzt herkommt weiß ich nicht. Vielleicht muss es dem Compiler per -D_GLIBCXX_USE_WCHAR_T von Hand übergeben werden?
    Gruß Boron (der sich oft wegen mieser Rechtschreibung anderer die Augen reiben muss)

    LINUX IS LIKE AN INDIAN TENT: NO GATES, NO WINDOWS AND AN APACHE INSIDE!
    Hardware Monitoring unter Linux -> http://santafu.sourceforge.net (Temperaturen, Lüfterdrehzahlen und Spannungen)

  3. #3
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Wie checkst du die Ausgabe?

    Umgeleitet in eine Datei und dann mit entsprechenden Encoding-Hinweis in einem Editor geöffnet?

    Oder mit einem UTF-16 Locale im Terminal? (ich glaube wchar ist zwei Bytes pro Zeichen, alsoUTF-16)

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  4. #4
    Registrierter Benutzer Avatar von lokicall
    Registriert seit
    17.12.2005
    Beiträge
    53
    Das Buch wird immer lustiger. Nun behauptet der Autor, wenn man einen Zeiger inkrementiert, also *p++, erhöht man den Inhalt auf dem der Zeiger zeigt um eins, nicht zu verwechseln mit p++. Dachte immer das ++ eine höhere Priorität hat als der Zeiger Operator und damit ist *p++ == p++ oder?

  5. #5
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Zitat Zitat von lokicall Beitrag anzeigen
    Dachte immer das ++ eine höhere Priorität hat als der Zeiger Operator und damit ist *p++ == p++ oder?
    Richtig. Aber du willst doch nicht im ernst behaupten du hättest die auswendig gelernt?

    MfG Peschmä, der immer klammert - schon nur damit auch andere den Code verstehen können
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  6. #6
    CCCoder
    Gast
    *p++
    Zuerst wird der Wert auf den der Zeiger zeigt zurückgegeben und danach der Zeiger selbst erhöht.

  7. #7
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Öh, ja, mein Fehler. Merkwürdig, dass ich das falsch erzählt hab, das schreibe ich nämlich selber noch ab und zu.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •