Аватар для ninja2
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041

Чтение файла в кодировке utf-8 и вывод в консоль

29.11.2014, 14:02. Показов 12949. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здорова!
Пытаюсь прочитать файл в кодировке utf-8 (вот он 0.7z) и вывожу его в консоль, ничего не получается.
Вот код:
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
#include <fstream>
#include <string>
using namespace::std;
 
int main()
{
    //читаем файл
    string s_result="";
    ifstream ifs("0.html",ifstream::in);
    if(!ifs){cerr <<"don't open file"<<endl; exit(1);}
    else
    {
        string str;
        while(getline(ifs,str))
            s_result+="\n"+str;
    }
 
    //выводятся крякозябры
    cout <<"s_result= "<<s_result<<endl;
 
    //переводим в wstring
    wstring ws_result(s_result.begin(),s_result.end());
 
    //выводит не полностью всю строку а 274 символа, 
    //остальные хз. почему не выводятся
    wcout <<L"ws_result= "<<ws_result<<endl;
 
    return 0;
}

выводится черт знает что, крякозябры выводятся, я уже и setlocale менял и заходил с cmd.exe из него запускал файл и там же менял кодировку на utf-8, cp1251 и 866 но все рамно крякозябры выводятся. Плюс пытаюсь перевести в широкие строки и вывести так оно выводит из 2300 символов (там мб. и больше) всего навсего 274 символов. В чем проблема хз!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.11.2014, 14:02
Ответы с готовыми решениями:

Чтение файла в кодировке UTF-8 InputStreamReader
Добрый день. Мне необходимо прочитать текстовый файл в кодировке UTF-8 построчно. Написал программу, которая должна вывести на...

Чтение .txt файла, сохраненного в кодировке UTF-8
Привет всем! Есть .txt файл, в котором записаны 4 символа: ӮӰӴӸԊ. Файл сохранен в кодировке UTF-8. При чтении из этого файла, получается...

Sed: не выводится в консоль stdout в кодировке UTF-8
Здравствуйте! Имеется текст, содержащий символы Unicode. Вывожу из буфера на консоль утилитой paste.exe с...

4
2688 / 2260 / 244
Регистрация: 03.07.2012
Сообщений: 8,231
Записей в блоге: 1
29.11.2014, 19:22
Как-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
char cb[1000];
wchar_t wcb[500];
setlocale(LC_ALL,"Russian"); //Переход к работе с кириллицей
ifstream ifs("B:\\0.html",ifstream::in);
if(!ifs){cerr <<"don't open file"<<endl; exit(1);}
else
{
    while(ifs.getline(cb,1000)) {
    MultiByteToWideChar(CP_UTF8, 0, cb, 1000, wcb, 500);    
    wcout<<wcb<<endl;
    }
}
1
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
29.11.2014, 19:39
C++
1
2
3
4
std::locale::global(std::locale(""));
std::locale l_utf8 (std::locale(), new std::codecvt_utf8<wchar_t, 0x10ffffUL, std::codecvt_mode::consume_header>);
std::wifstream wifs(L"d:\\data.txt");
wifs.imbue(l_utf8);
После этого выводить через wcout.
2
 Аватар для ninja2
979 / 196 / 33
Регистрация: 26.09.2012
Сообщений: 2,041
29.11.2014, 23:57  [ТС]
nmcf, Та я уже сделал, там нужно перевести из string utf8 в wstring utf8, перекодировать нужно было, а не просто копировать.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
30.11.2014, 07:46
Приведённый фрагмент делает то, о чём ты написал: работает с файлом utf-8, считываться будет уже utf-16 в wstring или в массив wchar_t - это по желанию.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.11.2014, 07:46
Помогаю со студенческими работами здесь

Java выдает в консоль результат в кодировке UTF-8. Что делать?
Уж извините, на форуме нигде раздела BAT не нашел, пишу сюда! Модераторы, переместите, если нужно. Проблема просто выше моего уровня (...

Чтение файлов формата .txt в кодировке utf-8
Уважаемые форумчане! Делаю скрипт для чтения и записи txt-файлов из Excel-вского файла по средствам VBA макросов. Но всё упёрлось в...

Чтение файла (с кракозябрами) с однобайтовой кодировкой, конвертация в UTF-8 и вывод в другой файл
Добрый день, форумчане. Может у кого есть заготовка или кто поделится советом, необходимо прочитать файл (с кракозябрами) с однобайтовой...

Чтение из текстового файла и вывод в консоль
Помогите пожалуйста, мне нужно чтобы из текстового файла в консоли выводился список людей, например 1 Иванов Иван Васильевич 2 Иванов...

Неверный вывод в кодировке UTF-8 без BOM
Здравствуйте. У меня проблема с кодировкой. Если я сделаю кодировку в utf-8, так тогда выскакивает ошибка на моем сайте и ругается на мой...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru