Ich habe Probleme damit, wie C ++ eine bestimmte Unicode -Zeichenfolge druckt. < /p>
Gibt eine formatierte Unicode -String -Darstellung eines Eigenschaftswerts zurück. Für Datumswerte fügt es einen Unicode U+200e links nach rechts (LRM) vor jeder Komponente des formatierten Datums ein. > ein nicht gedruckter Charakter sein. Visual Studio C ++ Std :: WCout und Wprintf überspringen sie jedoch nicht. Mit _setMode (_fileno (stdout), _o_u16text) , wprintf und std :: wCout drucken Sie einen Blindraum. Ohne diesen _setMode druckt Wprintf es als Fragezeichen und std :: wcout einfach fehlschlägt.
[*] I Am Erstellen mit Konfigurationseigenschaft:
Zeichenset = Verwendung
Unicode -Zeichen -Set
Variante anders Propdesc_Format_flags Für Datum und Uhrzeit hilft nicht >
Code: Select all
PWSTR pszDisplayValue = NULL;
hr = PSFormatForDisplayAlloc(key, propvarValue, PDFF_LONGDATE | PDFF_LONGTIME, &pszDisplayValue);
if (SUCCEEDED(hr))
{
// Method 1
std::wcout