|
2 / 2 / 0
Регистрация: 26.07.2015
Сообщений: 185
|
||||||||
swprintf в MinGW20.07.2023, 10:51. Показов 5738. Ответов 103
Метки нет (Все метки)
Пишу:
0
|
||||||||
| 20.07.2023, 10:51 | |
|
Ответы с готовыми решениями:
103
|
| 29.03.2024, 16:39 | |
|
0
|
|
|
6278 / 3002 / 1051
Регистрация: 01.06.2021
Сообщений: 11,232
|
||
| 29.03.2024, 18:24 | ||
UTF-8 BOM и UTF 16 практически никому не нужны. Рекомендуется использовать UTF-8, UTF-16 BOM LE и UTF-16 BOM BE.И вообще, мне кажется, что для Notepad++ есть плагин для работы с hex, с помощью которого можно убрать BOM.
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 29.03.2024, 19:29 | ||
|
А так то я согласен. BOM для UTF-16 - важен. Но неужели было так сложно добавить ручной выбор UTF без BOM ?
0
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,822
|
||||||||||||
| 29.03.2024, 20:16 | ||||||||||||
Особенности: из-за setlocale(LC_ALL, ""); в русской винде выходной файл будет в CP1251. В общем-то все работает как и описано в документации: https://learn.microsoft.com/ru... w=msvc-170 Проверял также в Wine этот код. Там не работает, т.к. поддержка ccs там не реализована.Добавлено через 8 минут Также проверил вариант (работает в Windows 10)
В общем здесь в любом случае необходимо учитывать влияние setlocale и тщательно изучить документацию перед использованием.
1
|
||||||||||||
|
4056 / 2691 / 432
Регистрация: 09.09.2017
Сообщений: 11,989
|
||
| 29.03.2024, 21:17 | ||
|
0
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,822
|
||||||
| 29.03.2024, 22:56 | ||||||
|
COKPOWEHEU, проверил, вот так работает:
Выходной файл в создается в UTF-8 c BOM.
0
|
||||||
|
2 / 2 / 0
Регистрация: 26.07.2015
Сообщений: 185
|
||||
| 30.03.2024, 13:48 [ТС] | ||||
|
Странная логика: пишем "utf-8" - получаем utf-8", пишем "UNICODE" - получаем ansi... Об этом чудесном превращении, у Microsoft - ничего, но есть такое:
0
|
||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,822
|
||
| 30.03.2024, 14:01 | ||
|
В первом случае я указываю: "читать файл с оглядкой на BOM в Unicode", BOM может быть для Utf-8 или Utf-16. При чтении будет производиться преобразование в Utf-16 (если оно требуется). В первом случае на запись же я ничего не указываю, что согласно вашей же цитате будет означать "Пишем в ANSI". ANSI для русской винды - это CP1251 (об этом уже сказано было ранее выше). При записи будет производиться преобразование Utf-16->ANSI. Во втором случае я принудительно указал Utf-8 и для входа и для выхода, в этом случае во входном файле наличие BOM не требуется. А выходной файл ожидаемо будет в Utf-8 c BOM. В самой программе мы также получаем Utf-16 как разультат преобразования из Utf-8 при чтении. При записи будет производиться преобразование Utf-16->Utf-8. Об этом всем написано по ссылке, которую я привел выше.
0
|
||
|
2 / 2 / 0
Регистрация: 26.07.2015
Сообщений: 185
|
|
| 30.03.2024, 14:23 [ТС] | |
|
Поставила на записи utf-8 - получила utf-8. В общем - понятно: на чтении требуется соответствие формату этого файла, а на записи - желаемое.
"Дурь" тоже записывается.
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 30.03.2024, 14:29 | |||
|
0
|
|||
|
2 / 2 / 0
Регистрация: 26.07.2015
Сообщений: 185
|
||
| 30.03.2024, 14:30 [ТС] | ||
|
Не ожидала, что эти функции осуществляют перекодировку. В принципе, вся задача fgetws - найти конец строки, и считать содержимое до него... А у fputws - записать.
0
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,822
|
|||
| 30.03.2024, 14:39 | |||
|
Кроме того лучше читать оригинал, а не перевод, чтобы избежать искажения деталей.
0
|
|||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||||
| 30.03.2024, 14:54 | |||||
|
Не по теме:
Сразу вспомнился перевод, совсем недавно : Оригинал :
Добавлено через 3 минуты После этого я не видел от microsoft адекватной документации, даже на английском.
1
|
|||||
|
2 / 2 / 0
Регистрация: 26.07.2015
Сообщений: 185
|
||
| 30.03.2024, 15:04 [ТС] | ||
|
0
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,822
|
||
| 30.03.2024, 15:12 | ||
|
0
|
||
|
2 / 2 / 0
Регистрация: 26.07.2015
Сообщений: 185
|
|||
| 30.03.2024, 15:21 [ТС] | |||
|
Добавлено через 4 минуты
0
|
|||
|
2 / 2 / 0
Регистрация: 26.07.2015
Сообщений: 185
|
|||||||||||
| 01.04.2024, 05:56 [ТС] | |||||||||||
|
Функция зверски заторможена
fgetws-fputws: 2422 fgets-fputs (char*): 797 fread-fwrite: 172 Lazarus: 4359 ABC: 984 Т.е., работает медленнее, чем readln-writeln в pascalabc.net! ![]() Проблема может быть в самих функциях, а может быть в конкретной реализации MinGW. О том, через какие "тернии" у них реализуется printf, разбирали тут: https://habr.com/ru/articles/438044/
0
|
|||||||||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,822
|
|
| 01.04.2024, 13:27 | |
|
Хатобато, тормоза из-за перекодировки. Уберете перекодировку, уберете тормоза.
И вы совершенно зря приводите примеры статей и кода для *nix систем, этот код не будет иметь ничего общего с реализацией в windows. Windows-реализация испльзует mscrt. Это системная библиотека. И ее исходники недоступны. Кстати, вы бы об этом знали, если бы изучили данные мной ссылки.
0
|
|
|
2 / 2 / 0
Регистрация: 26.07.2015
Сообщений: 185
|
|||
| 01.04.2024, 16:57 [ТС] | |||
|
0
|
|||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 01.04.2024, 17:12 | |
|
0
|
|
| 01.04.2024, 17:12 | |
|
Swprintf - Unhandled page fault on read Access MinGW, при установке ошибка: unpacking mingw-get-0.6.2-mingw32-beta-20131004-1-bin.tar.xz Правильное swprintf, правильное wprintf ? Qt 4.8.1 and MinGW 4.7.2 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу.
До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения
Продолжаю серию постов о дискретно-событийной модели рабочего. . .
|
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы
Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
|
|
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция
Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
|
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
|
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
|
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
|