Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/34: Рейтинг темы: голосов - 34, средняя оценка - 4.91
Всегда онлайн
 Аватар для MrOnlineCoder
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703

Чтение русских и английских букв из файла

25.06.2017, 19:39. Показов 7321. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Делаю игру, где скрипт написан в файле (допустим script.txt), где одновременно есть команды типа
Code
1
2
play_sound file.wav
show_text "Русский текст"
Я сначала парсю файл, и на каждое выражение создаю структуру Statement, где записан тип операции и значение. Потом вектор этих структур использует движок для рендеринга.

Мне нужно правильно прочитать этот файл, чтобы я смог и загрузить текст в std::wstring (который потом выведу на экран) и имена файлов в std::string. Как это сделать?

Пробовал через std::wifstream и std::getline, и имена файлов конвертировать в std::string через std::wstombs, но кракозябры получаються (файл сохранял и в ANSI, и в Юникоде и в UTF-8).

Подскажите, как сделать.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.06.2017, 19:39
Ответы с готовыми решениями:

Разделение русских и английских букв
Написать функцию разделения русских и английских букв в отдельные строки. #include <iostream> #include <cstring> void...

Чтение из файла .txt русских букв
Привет. Есть файл .txt в нем такая информация: 1 file 2 файл 3 people 4 люди ------------------- считываю в вектор этот...

Подсчитать во сколько раз русских букв больше чем английских
Подскажите пожалуйста!как выглядит программа которая подсчитывает во сколько раз русских букв больше чем английских.

7
Заблокирован
25.06.2017, 19:48
Цитата Сообщение от MrOnlineCoder Посмотреть сообщение
std::wstring
Самое худшее, что случилось с C и C++ — это появление wchar_t. Непереносимое, ничего не гарантирующее нечто.
Не надо этим пользоваться.

std::string с utf8 внутри (ну и utf8 снаружи программы) — единственный способ выжить в этом мире.
1
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
25.06.2017, 19:56
Лучший ответ Сообщение было отмечено MrOnlineCoder как решение

Решение

Файл сохраняешь в utf-8. Затем делаешь как здесь:
Чтения из файла Русские шрифты
Чтение - в wstring.

Добавлено через 2 минуты

Не по теме:

Цитата Сообщение от daun-autist Посмотреть сообщение
std::string с utf8 внутри (ну и utf8 снаружи программы) — единственный способ выжить в этом мире.
Он не индексируем.

1
25.06.2017, 19:57

Не по теме:

Цитата Сообщение от nmcf Посмотреть сообщение
Он не индексируем.
И??

0
Всегда онлайн
 Аватар для MrOnlineCoder
1084 / 788 / 295
Регистрация: 07.04.2013
Сообщений: 2,703
25.06.2017, 20:04  [ТС]
nmcf, std::codecvt_utf8 поддерживается, как я понял с С++11, и в VS 2012 не будет работать?

забыл <codecvt> подключить.

Добавлено через 3 минуты
nmcf, спасибо, все работает
0
25.06.2017, 20:07

Не по теме:

Цитата Сообщение от daun-autist Посмотреть сообщение
И??
Сам подумай. Обработка строк усложняется.

0
25.06.2017, 20:11

Не по теме:

Цитата Сообщение от nmcf Посмотреть сообщение
Сам подумай.
Не волнуйся, я много читал и думал про это. Открою секрет Полишинеля: юникод в общем в принципе не индексируем. Даже в кодировке UTF-32.

0
25.06.2017, 20:17

Не по теме:

Цитата Сообщение от daun-autist Посмотреть сообщение
Даже в кодировке UTF-32.
Где "пруфы"? Уже стандарт пересмотрели, что ли?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.06.2017, 20:17
Помогаю со студенческими работами здесь

Текстовый файл. Открыть, посчитать в нем количество английских и русских букв
У меня есть текстовый фаил с русским и английским текстом, как мне открыть этот фаил в с++ (путь к нему как указывать правильно), и как...

Вывод в документ: китайские иероглифа вместо русских или английских букв
В коде какато фигня. Он написан и по идее работает, но вот с языком вывода проблема. Когда записываешь что-то в документ он записывает...

Чтение русских букв из файла
string lines = File.ReadAllLines(&quot;file.txt&quot;); Это командой считываются строчки из файла. Но как считать строчки с русскими буквами? ...

Чтение русских букв из файла
Здравствуйте. Битый час пытаюсь заставить QB читать русские слова из файла. Что только не пробовал, даже в самом бейсике этот файл...

Ввод русских, английских букв в textBox
Здравствуйте, как сделать , что бы в текстбокс можно было вводить помимо русских символов еще и англ? private void...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru