Есть ли эквивалентные функции для strstr и sprintf для типа char16_t?
Кроме того, где я могу найти оставшиеся функции char16_t?
Я не думаю, что есть такие функции.
Если sizeof(char16_t) == sizeof(wchar_t)
Вы можете использовать широкие строковые функции, такие как wsprintf
Предостережение: sizeof(wchar_t) == sizeof(int32_t)
в Linux!
И вы всегда можете использовать (в C ++ 11) станд :: u16string
Возможно, вы могли бы рассмотреть возможность использования Qt5 QChar (почти как char16_t
в UTF16) и QString. Вам нужно всего лишь ссылку QtCore
для этого. затем QString :: агд похоже (но не эквивалентно) тому, что sprintf
может предложить.
Как я уже говорил, преобразование с плавающей точкой в строку сложно. Возможно, какой-то код из MUSL libc (свободное программное обеспечение, лицензия MIT) может вдохновить вас, и вы можете позаимствовать его.
Других решений пока нет …