Как получить C ++ для правильной обработки не печати UnicodeC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как получить C ++ для правильной обработки не печати Unicode

Сообщение Anonymous »

У меня проблемы с тем, как C ++ печатает определенную строку Unicode. < /p>

Код: Выделить всё

PSFormatForDisplayAlloc
возвращает форматированное представление строки 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]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»