Win32 in C - Warum erscheint mein Text als Fremdsprache?

8

Ich habe angefangen, die win32-API auf dieser Site anzuschauen: Ссылка

Ich habe buchstäblich das erste Beispiel kompiliert und es hat mir eine Nachricht in Chinesisch / Japanisch oder etwas in dieser Richtung gegeben.

Frage: Warum?

Offensichtlich sollte ich, so weit mein Verständnis geht, "Auf Wiedersehen, grausame Welt!" in einer Nachrichtenbox (vermutlich mit dem Titel "Hinweis").

%Vor%

Danke.

    
Anonymous 17.06.2011, 13:57
quelle

3 Antworten

9

Versuchen Sie, den Code wie folgt zu ändern:

%Vor%

Wenn es funktioniert, weil Ihnen einige Header fehlen, die auf die richtige API verweisen, scheinen Sie MessageBoxW (die Unicode-Version) mit einer ANSI-Zeichenfolge aufzurufen. Wenn dies nicht nur ein Test ist, sondern Sie beginnen, ein echtes Weltprogramm zu schreiben, sollten Sie überlegen, welche Art von Zeichen Sie verwenden möchten (dies ist normalerweise ein Precompiler-Flag). Verwenden Sie dann das Makro _T( , damit Ihre Literale mit Unicode / Ansi kompatibel sind.

Bearbeiten von @Benoit-Kommentar: Beim Starten eines neuen Projekts mit VS 2008/10 wird standardmäßig der Unicode-Zeichensatz festgelegt.

    
Felice Pollano 17.06.2011, 14:00
quelle
5
%Vor%

oder

%Vor%     
clyfish 17.06.2011 14:00
quelle
1

Ich kann es nicht auf Standard setzen, also muss jedes neue Projekt eingestellt werden. Um die Einstellung zu finden: Verwenden von Visual Studio 2010 Wählen Sie aus dem Hauptmenü → Projekte → Eigenschaften → Konfigurationseigenschaften → Allgemein → Projektdetails → Zeichensatz → Mehrbyte-Zeichensatz verwenden (wurde auf "Unicode-Zeichensatz verwenden" gesetzt) ​​

Danach scheint alles gut.

    
Rich 09.09.2013 20:59
quelle

Tags und Links