2 / 1 / 1
Регистрация: 16.11.2017
Сообщений: 16
|
|
1 | |
Считывание русских слов из txt файла (не консоль)30.03.2018, 09:19. Показов 7049. Ответов 2
Метки char*, clr, txt, visual studio 2015, wchar_t, кодировка, русские буквы, русский текст, visual studio (Все метки)
Доброго времени суток!
Стоит задача считать из txt файла русские слова и записать их в динамический массив символов (char* или wchar_t*). При считывании из файла слова функциями fscanf(f, "%s", c) или fwscanf(f, L"%s", c) - пробовал оба варианта - в переменную записывается абракадабра. При этом если записывать слова внутри кода (т.е. wchar_t c = L"слово"), в просмотре локальных переменных все отображается нормально. Как можно решить проблему с кодировкой? Может в среде можно подключить какой-то специальный модуль? Работаю в Visual Studio 2015, пишу приложение для Windows на Visual C++, не консольное, посему setlocale и подобные команды не помогают =(
0
|
30.03.2018, 09:19 | |
Ответы с готовыми решениями:
2
Считывание текста у txt файла.Прoблема с кириллицой(с кодировкой)(консоль) Вывод русских слов в консоль Считывание из файла русских букв Считывание русских символов из файла |
2376 / 834 / 317
Регистрация: 10.02.2018
Сообщений: 1,968
|
|
30.03.2018, 09:53 | 2 |
Сообщение было отмечено perotto как решение
Решение
Для текстового файла кодировка как таковая не предусмотрена. Это означает, что если в файл записаны ASCII строки, то и читать из него нужно ASCII строки (char). Если записаны UTF-16 строки, то и читать из него нужно UTF-16 (wchar_t). При несогласованном чтении никакой автоматической перекодировки не предусматривается. Для корректного отображения нужно прочесть строки в оригинальном формате и затем самостоятельно перекодировать в нужный.
Существует механизм задания кодировки (BOM) через несколько специальных символов в начале файла. Этот механизм широко используется, но не является обязательным к присутствию в текстовых файлах. Можно открыть файл в бинарном режиме и прочесть несколько первых байт, если они соответствуют специальным комбинациям, то кодировку файла можно считать известной, в противном случае кодировка должна определяться извне.
2
|
2 / 1 / 1
Регистрация: 16.11.2017
Сообщений: 16
|
|
30.03.2018, 14:06 [ТС] | 3 |
Спасибо огромное, разобрался, поменял кодировку в txt и все заработало
0
|
30.03.2018, 14:06 | |
30.03.2018, 14:06 | |
Помогаю со студенческими работами здесь
3
Считывание из файла русских символов Считывание русских символов из файла WinApi Split русских строк из txt файла Чтение из файла .txt русских букв Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |