Можно ли напечатать аргумент char*
в объект UnicodeString через printf
функция-член?
Следующий код дает мне неправильный результат (поврежденная строка):
UnicodeString s;
s.printf(L"%s", "hello");
Если я указываю L"hello"
вместо "hello"
, он работает как положено (мне странно, почему он работает со спецификатором "%s"
, я думаю, что он должен быть "%ls"
).
Протестировано на Embarcadero RAD Studio XE и 10 Seattle путем присвоения строки s
свойству Caption метки формы.
UnicodeString
, поэтому вы должны использовать какую-то библиотеку расширений. Попробуйте обратиться к документации этой библиотеки. Кроме того, попробуйте%hs
, который работает по крайней мере для одной реализацииswprintf()
, но это выстрел в темноту... - person Ulrich Eckhardt   schedule 29.12.2015%hs
работает нормально. Спасибо. - person αλεχολυτ   schedule 29.12.2015TCHAR
, где #define переключается между сборками с широкими и узкими символами. Таким образом, %ls — это широкий символ (всегда), %hs — это узкий символ (всегда), а %s — это то, что выбрал #define. - person Martin Bonner supports Monica   schedule 29.12.2015