У меня проблемы с тем, как C ++ печатает определенную строку Unicode. < /p>
возвращает форматированное представление строки Unicode значения свойства. Для значений даты он вводит Unicode U+200E, слева направо отмечен (LRM) перед каждым компонентом отформатированной даты. > быть не печатным персонажем. Тем не менее, Visual Studio C ++ std :: wcout и wprintf не пропускают его. С _SetMode (_fileno (stdout), _o_u16text) , wprintf и std :: wcout Печать то, что кажется пустым пространством. Без этого _setmode , wprintf печатает его как знак вопроса и std :: wcout просто просто не сбои.
[*] I am Создание с свойством конфигурации:
set alem = use
unicode set
Пробуйте разные Propdesc_format_flags для даты и времени не помогает. >
Код: Выделить всё
PWSTR pszDisplayValue = NULL;
hr = PSFormatForDisplayAlloc(key, propvarValue, PDFF_LONGDATE | PDFF_LONGTIME, &pszDisplayValue);
if (SUCCEEDED(hr))
{
// Method 1
std::wcout
Подробнее здесь: [url]https://stackoverflow.com/questions/79462445/how-to-get-c-to-properly-handle-non-printing-unicode[/url]