electrik | Дата: Суббота, 12.02.2022, 21:30 | Сообщение # 1 |
Полковник
Группа: Друзья
Сообщений: 182
Статус: Offline
| Зачаток функций, незнаю может и никому не нужных, но мне понадобилось. Используется extWstring входящий в поставку Window9. Оговорюсь, что это работает только в Windows. так же пока функции не разнесены в отдельные файлы и вообще так таковая библиотека не собирается. компилим вместе с вашим исходником. В комплекте есть тестовая програмка, которая открывает файлы, записывает в них строки, а потом их считывает с разными параметрами. что сделано? Совсем мало: Read_String_EXA - Читает из файла строки ANSI и UTF16 в string переменную, задаётся форматом строки. Read_String_EX - читает строки из файла в UTF16 и ANSI, в extWstring переменную, задаётся форматом строки. Хотел это дело за оверлоадить, но получалась ерунда, поэтому так. Для следующих функций тоже overload работал плохо. Write_String_EXA и Write_String_EX - пишут строки в файл. Также есть параметр, который указывает формат переноса строки, если 0, тогда не пишется перенос строки.
Read_String_Format и Write_String_Format - Считывает и записывает в файл формат строки, такой как EXT_UTF16, EXT_UTF32. Насамом деле, пока работа с юникод строками реализована только с UTF16, но из файла уже можно считать и записать формат строки. На будущее определена константа для общего формата для расширенных строк EXT_WIDE. В винде wstring равен двум байтам, в Linux четырём. Если юзер указывает EXT_WIDE, в зависимости от платформы должен реализовываться соответствующий функционал. Сейчас если указать EXT_WIDE, будет тоже самое что и EXT_UTF16. Если когда-нибудь получится это запилить в самой Window9 кроссплатформенно, будет не плохо. Моя часть виндовая. Так же функции Чтения и записи в файл, должны быть как в ANSI версии так и в юникод, ибо бывает нужно в юникод приложении прочитать юникод строку в ANSI строку или записать в ANSI файл юникод строку. Короче, по мере желания, буду переодически скидывать свои наброски. Будет годно, можно запилить в Window9. https://disk.pm/s/3YJNmTWbCQQJSLW/download
|
|
| |