, чтобы быть совместимым со старыми версиями Windows (например, Windows 7 /11). on < /strong>: < /p>
- Кодовая страница Windows 10 UTF-8 ().
Код: Выделить всё
CP_UTF8 - Приложение XML Manifests.
[*] Convert char* (UTF-8) строки WCHAR_T* (UTF-16) для вызовов Windows API. /> выполнить , основная операция Windows с широкомасштабной характеристикой (например, _wfopen , _wmkdir ).
[*] code*at ap at aptr_t* (utf-16). (UTF-8) для вызывающего абонента, где это применимо (например, getEnv , getCwd ).
[*] Управление памятью [/b] для этих конверсий безопасным и эффективным. Отсутствие комплексного охвата для всех соответствующих стандартных функций C, в первую очередь, C ++ (когда я предпочитаю C) или полагаюсь на современные функции Windows, которые мне нужны, чтобы избежать более широкой совместимости. Например:
- boostorg/nowide : отлично подходит для потоков C ++ и некоторых файловых функций, но не имеет покрытия для многих стандартных библиотечных функций (например, Scanf ) и является главным образом C ++. /> alf-p-steinbach/wrapped-stdlib : кажется заброшенным и неполным.
- Gnome/Glib : Lie UTF-8, но не полная упаковка для стандартной библиотеки c. /> neacsum/utf8 : ограничен в области, не охватывает все стандартные функции библиотеки. /> jflarvoire msvclibx : не поддерживает Mingw, и только подмножество функций. /> < /li>
< /ul>
Я также изучал фрагменты из более крупных проектов, которые часто обращаются к конкретным функциям, но требуют значительной очистки и не являются всеобъемлющими: < /p>
Git mingw.c < /li>
open-win32.c - wireshark-awdl file_util.c
, в частности, я ищу информацию о:
[*] Общие шаблоны для функционального интерфейса/подключения в C в Windows , что позволило бы заменить стандартные библиотечные вызовы без модификации исходного исходного кода. UTF-8 для UTF-16 и UTF-16 в UTF-8 преобразования , которые не зависят от CP_UTF8 .
Случаи по обработке краев , как ограничения длины пути на более старых версиях Windows в рамках этого слоя. Как конкретные функции как fopen (сопоставление с _wfopen и режим обработки строки) или Scanf /
Код: Выделить всё
fgetsПодробнее здесь: https://stackoverflow.com/questions/796 ... -pre-win10
Мобильная версия