|
2 / 2 / 0
Регистрация: 26.07.2015
Сообщений: 185
|
||||||||
swprintf в MinGW20.07.2023, 10:51. Показов 5758. Ответов 103
Метки нет (Все метки)
Пишу:
0
|
||||||||
| 20.07.2023, 10:51 | |
|
Ответы с готовыми решениями:
103
|
| 29.03.2024, 16:39 | |
|
0
|
|
|
6287 / 3011 / 1051
Регистрация: 01.06.2021
Сообщений: 11,284
|
||
| 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,825
|
||||||||||||
| 29.03.2024, 20:16 | ||||||||||||
Особенности: из-за setlocale(LC_ALL, ""); в русской винде выходной файл будет в CP1251. В общем-то все работает как и описано в документации: https://learn.microsoft.com/ru... w=msvc-170 Проверял также в Wine этот код. Там не работает, т.к. поддержка ccs там не реализована.Добавлено через 8 минут Также проверил вариант (работает в Windows 10)
В общем здесь в любом случае необходимо учитывать влияние setlocale и тщательно изучить документацию перед использованием.
1
|
||||||||||||
|
4057 / 2692 / 432
Регистрация: 09.09.2017
Сообщений: 12,003
|
||
| 29.03.2024, 21:17 | ||
|
0
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||||||
| 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,825
|
||
| 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,825
|
|||
| 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,825
|
||
| 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,825
|
|
| 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача
Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
Сигнатура
func Fetch(urls string, maxConcurrent int) Result
Пример
urls :=. . .
|
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition)
Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
|
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
|
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool
Worker Pool — паттерн конкурентной обработки задач в Go.
Суть: фиксированное количество горутин-воркеров читают задачи из общего канала
и пишут результаты в общий канал результатов. . . .
|
|
[golang] Pipeline
alhaos 08.06.2026
Pipeline
Pipeline — паттерн конкурентной обработки данных в Go.
Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
|
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь
lIs4oanZS9Y
|
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу.
До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|