Змінюй хід війни! Допомагай ЗСУ!

"научите меня быть девелопером".

🟢 04:43 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • 🟢 04:43 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #901
Тебе дебаггер вообще зачем природой дан?

Єтот конч поток не понимает русский без установки локали для потока.
locale(std::locale("rus")) - заставляет его начать писать, но не совпадает кодировка.
P.S. Что, бля, с єтими кодировками вечно какая-то херня :рл:

Подскажи, codecvt_utf8 существует, где cp1251 взять? Или есть проще способ ему ткнуть?
 
  • 🟢 04:43 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #902
Єтот конч поток не понимает русский без установки локали для потока.
locale(std::locale("rus")) - заставляет его начать писать, но не совпадает кодировка.
P.S. Что, бля, с єтими кодировками вечно какая-то херня :рл:

Подскажи, codecvt_utf8 существует, где cp1251 взять? Или есть проще способ ему ткнуть?


⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.


#include <locale>
#include <codecvt>

std::wofstream file(L"c:\\output.xml");
file.imbue(std::locale(file.getloc(), new std::codecvt_utf8<wchar_t, 0x10ffff, std::little_endian>()));

И все. Воды дать тебе? :іржач:
 
  • 🟢 04:43 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #903
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.


#include <locale>
#include <codecvt>

std::wofstream file(L"c:\\output.xml");
file.imbue(std::locale(file.getloc(), new std::codecvt_utf8<wchar_t, 0x10ffff, std::little_endian>()));

И все. Воды дать тебе? :іржач:

Водки скорее... Какой мудак придумал кодировки :рл:
С кодировками пролблемы только у стримов. С файл опеном в прошлые разы такой херни небыло.

Нет. Не та херня. Не работает. F:\test2\аА1<
Результат тот же, что и просто с codecvt_utf8<wchar_t>
Я не нашел для 1251 фасета. Внешние есть, конечно.
 
  • 🟢 04:43 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #904
Водки скорее... Какой мудак придумал кодировки :рл:
С кодировками пролблемы только у стримов. С файл опеном в прошлые разы такой херни небыло.

Нет. Не та херня. Не работает. F:\test2\аА1<
Результат тот же, что и просто с codecvt_utf8<wchar_t>
Я не нашел для 1251 фасета. Внешние есть, конечно.

А ты файл как utf8 смотри, там все збс.
 
  • 🟢 04:43 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #905
К стати, проблему с кодировками wofstream решенной я не нашел.
Чувак решил отак
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.


P.S. Подозреваю, єта та же точно задача, что и у меня :)
 
  • 🟢 04:43 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #906
  • 🟢 04:43 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #907
  • 🟢 04:43 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #908

Преобразование то понятно, что поможет. Но бесит, что он читает в нормальной кодировке имя, а пишет - уже в хуй знает какой. Взял где-то русский юникод и педалит. 1251 родными средствами ну ни как...
Хоть с потока обратно на winapi переходи - там проблем нет с кодировкой.
 
  • 🟢 04:43 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #909
В wfopen тоже нет проблем... Чем вообще if/ofstream лучше fopen?
 
  • 🟢 04:43 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #910
  • 🟢 04:43 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #911
Преобразование то понятно, что поможет. Но бесит, что он читает в нормальной кодировке имя, а пишет - уже в хуй знает какой. Взял где-то русский юникод и педалит. 1251 родными средствами ну ни как...
Хоть с потока обратно на winapi переходи - там проблем нет с кодировкой.

Винапи отдает юникод двухбайтный. Хочешь пиши его как есть в бинарный файл, только маркер вначале запиши правильный.
 
  • 🟢 04:43 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #912
Винапи отдает юникод двухбайтный. Хочешь пиши его как есть в бинарный файл, только маркер вначале запиши правильный.

_wfopen_s всё пишет как там и было.
Не знаю что там нетак со стримами... проблем только с кодировкой нахавался. Нахуя они вообще? Поток контролирует данные... Я ебал как он их контролирует.
 
  • 🟢 04:43 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #913
Ты вот придумал себе какую-то хрень и не можешь определиться чего в итоге хочешь.
Хочешь чтобы в винде читать русские буквы? Ну тогда у тебя 4 варианта - либо пиши честный двухбайтовый юникод, либо utf8 - в этих вариантах нужны маркеры специальные в начале файла. Либо пиши 1251 конвертируя юникод при помощи WideChartToMultiByte. Либо забудь вообще про юникод и юзай char.
 
  • 🟢 04:43 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #914
_wfopen_s всё пишет как там и было.
Не знаю что там нетак со стримами... проблем только с кодировкой нахавался. Нахуя они вообще? Поток контролирует данные... Я ебал как он их контролирует.

Тогда бинарный поток тебе в помощь. Получишь честный юникод. Но маркер в начале нужен.
 
  • 🟢 04:43 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #915
Во, пятый вариант

file.imbue(std::locale("Russian_Russia.1251"));
 
  • 🟢 04:43 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #916
Тогда бинарный поток тебе в помощь. Получишь честный юникод. Но маркер в начале нужен.

Зачем? Всё и так работает. Зачем плодить гемор с использованием потоков, если они в этой задаче доставляют больше проблем, чем решают? Там просто не нужен поток. Хотя, я не знаю что делается с данными открытыми fopenws с кодировкой когда туда делается fputws. fputs и << это суть одно.

Какой выигрыш вообще даст тут применение потока? Хоть бинарного, хоть какого?
 
  • 🟢 04:43 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #917
Или вот

file.imbue(std::locale("Ukrainian_Ukraine.1251"));

file << L"Навіґація\r\nВийти" << std::endl;
 
  • 🟢 04:43 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #918
Зачем? Всё и так работает. Зачем плодить гемор с использованием потоков, если они в этой задаче доставляют больше проблем, чем решают? Там просто не нужен поток. Хотя, я не знаю что делается с данными открытыми fopenws с кодировкой когда туда делается fputws. fputs и << это суть одно.

Какой выигрыш вообще даст тут применение потока? Хоть бинарного, хоть какого?

ecgh1c.jpg
 
  • 🟢 04:43 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #919
Во, пятый вариант

file.imbue(std::locale("Russian_Russia.1251"));

Я всякие писал. Эту тоже - не работала.
Я остановлюсь на fopen / fputws. Оно работает и работает правильно.

P.S. По поводу рекурсии... Получается, что всю структуру папок по одному сквозному пути - будет пхать в стєк. Хорошо это, или плохо?
Ну папками сте не забить - есть максимальная длина пути, там всего 32768, а, допустим, при такой же задаче, но с какими-нибудь структурами БД? Просто смотреть надо?
 
  • 🟢 04:43 Відбій тривоги в м. Харків та Харківська територіальна громада.Слідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #920
Назад
Зверху Знизу