Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
4194 / 1787 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
1

Загрузка UTF-8 без BOM в std::wstring

30.04.2013, 12:28. Просмотров 1087. Ответов 4
Метки нет (Все метки)

Есть файл в UTF-8 без BOM. Как его лучше загрузить целиком в std::wstring?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//=====================================================================================================================================================================================================
#include "salary.hpp"
//=====================================================================================================================================================================================================
std::wstring                  Load                        (std::string            FileName    ,
                                                              std::wofstream        &Log         )
{
 std::wifstream File;
 std::wstring Result=L"";
 Log<<L"<LoadXML>"<<std::endl;
 File.open(FileName.c_str());
 File>>std::noskipws;
 std::copy(std::istreambuf_iterator<wchar_t>(XMLFile), std::istreambuf_iterator<wchar_t>(), std::back_inserter(Result));
 return Result;
}
//=====================================================================================================================================================================================================
грузит бредятину, обнаружил, выведя две std::wstring с помощью TextOutW: загруженную с файла и присвоенную
C++
1
s=L"текст"
, они должны были полностью совпадать. Причём, латиница грузится правильно, проблема с кириллицей.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.04.2013, 12:28
Ответы с готовыми решениями:

Из UCS-2 Little Endian в UTF-8 без BOM
Здравствуйте! Имеется файлик xml в кодировке UCS-2 Little Endian. Хочу написать обработчик на...

Как правильно перевести std::wstring в std::string ?
Собственно как? :)

Как привести std::wstring к std::string?
Как привести std::wstring к std::string?

Конвертация из std::string в std::wstring
В std::string находятся прочитанные данные из файла, в котором содержатся смешанные данные (что-то...

4
В астрале
Эксперт С++
8022 / 4779 / 654
Регистрация: 24.06.2010
Сообщений: 10,557
30.04.2013, 13:03 2
taras atavin, Поставить правильную локаль на потоке например.
0
4194 / 1787 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
01.05.2013, 05:32  [ТС] 3
А как?
0
В астрале
Эксперт С++
8022 / 4779 / 654
Регистрация: 24.06.2010
Сообщений: 10,557
01.05.2013, 17:36 4
C++
1
File.imbue(локаль);
http://en.cppreference.com/w/c... _ios/imbue
http://en.cppreference.com/w/c... decvt_utf8
0
4194 / 1787 / 211
Регистрация: 24.11.2009
Сообщений: 27,563
01.05.2013, 19:04  [ТС] 5
Цитата Сообщение от ForEveR Посмотреть сообщение
File.imbue(локаль);
пробовал, аварийное завершение.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.05.2013, 19:04

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Преобразование из std::string - в std::wstring
Как попроще преобразовать string в широкую строку wstring? Так не получается: #include...

Std::string and std::wstring convert
случайно наткнулся на такую вот конвертацию std::string в std::wstring std::string text(&quot;text&quot;);...

std::string -> std::wstring
Как перевести данный код в код с использованием wstring ( посути использовать...

Конвертация символов в std::wstring
Привет. Помогите пожалуйста, как cконвертировать символы unicode, лежащие в std::wstring, в ANSI...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.