|
Модератор
|
||||||||||||||||||||||||||||||||||||||
Как сохранить в файл русские символы из wstring?07.10.2021, 14:15. Показов 3013. Ответов 24
Есть функция сохранения вектора строк в файл (и вывода на консоль для теста)
Для теста написал такой пример
Пробовал добавлять
вот байты из исходного файла
0
|
||||||||||||||||||||||||||||||||||||||
| 07.10.2021, 14:15 | |
|
Ответы с готовыми решениями:
24
Широкие символы wchar_t wstring не хотят принимать русские символы Как Сохранить русские символы в текстовом файле? Как правильно передать и сохранить на сервере русские символы? |
|
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,267
|
||||||
| 07.10.2021, 15:13 | ||||||
|
Набери такой текст:
0
|
||||||
|
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,267
|
|
| 07.10.2021, 15:27 | |
|
А вообще:
0
|
|
|
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,267
|
|||||||
| 07.10.2021, 15:34 | |||||||
Как видишь, в строку QString конвертируется без проблем.
0
|
|||||||
|
Модератор
|
||
| 07.10.2021, 15:37 [ТС] | ||
|
Добавлено через 50 секунд Да и тему вроде не в QT создавал, чтобы мне навязывали этот фрейворк фанатики
0
|
||
|
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,267
|
||
| 07.10.2021, 15:40 | ||
|
0
|
||
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
|
| 07.10.2021, 15:51 | |
|
alecss131, Запись кирилицы из std::wstring в файл
Думаю, можно начать разбираться с этой темы.
0
|
|
|
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,267
|
||
| 07.10.2021, 15:53 | ||
|
0
|
||
| 07.10.2021, 15:55 | |
|
0
|
|
|
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,267
|
||||||
| 07.10.2021, 16:06 | ||||||
|
Какую свою? Вот же тестовый код ТС, который выводит кракозябры.
0
|
||||||
|
Модератор
|
|||||||||||
| 07.10.2021, 16:20 [ТС] | |||||||||||
|
DrOffset, Вот это помогло
std::codecvt_utf8_utf16 std::codecvt_mode std::consume_header и std::generate_header то что это deprecated
Если что у меня проект в виде Cmake в CLion и компилятор MSVC. На сколько знаю в исходниках CLion + Cmake хранят в utf8, а студийная ide в другой кодировке и один и тот же код с разными ide но на одном и том же копиляторе может вести себя по разному Теперь как бы переписать код заменив deprecated
0
|
|||||||||||
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
||||
| 07.10.2021, 16:27 | ||||
|
Еще и память для второй строки выделить забыли. У вас в коде UB. Так что переписать без deprecated - это реализовать нужный facet самостоятельно. Принципы работы этой системы я объяснил в теме по ссылке. В целом ничего сложного здесь нет. Если понимать правила.
0
|
||||
|
Just Do It!
|
||||||||
| 07.10.2021, 16:53 | ||||||||
0
|
||||||||
|
736 / 700 / 110
Регистрация: 29.05.2015
Сообщений: 4,267
|
|
| 07.10.2021, 16:53 | |
|
0
|
|
|
19491 / 10097 / 2460
Регистрация: 30.01.2014
Сообщений: 17,805
|
||
| 07.10.2021, 16:59 | ||
|
alecss131, да, вариант выше - это писать в бинарном режиме просто в качестве дампа байтов - тогда никакие перекодировки и facet-ы не нужны. Это будет работать, если на выходе в файле вам тоже нужен UTF-16.
Добавлено через 1 минуту Это как бы разные вещи.
1
|
||
|
Just Do It!
|
|||||||
| 07.10.2021, 17:14 | |||||||
0
|
|||||||
|
Модератор
|
||||||||||||||||
| 07.10.2021, 22:01 [ТС] | ||||||||||||||||
|
Я тут думаю, что сохранение в файл поможет только в случае использования как конвертер, но второе применение для моей программы еще и последующая растеризация с отрисовкой в гапи. Для чего wchar не очень подходит и стоит конвертирование вставить пораньше. В целом перейти от модели
istream -> wchar -> wstring -> vector<wstring> -> wstring -> string -> ofstream к модели istream -> wchar -> char -> string -> vector<string> -> string -> ofstreamIconv почему то не хочет работать
Добавлено через 7 минут В идеале не надо привязываться к языку, так как язык не только русский/англ Добавлено через 3 минуты Перепутал откуда куда
0
|
||||||||||||||||
| 07.10.2021, 22:01 | |
|
Помогаю со студенческими работами здесь
20
Как перенаправить русские символы из потока вывода в файл? Как прочитать файл посредством UTL_FILE.get_line, содержайший русские символы Русские символы нормально не переносятся в сохраняемый файл В консоль русские символы выводятся правильно, а вот в файл - нет
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во
всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
|