Форум программистов, компьютерный форум CyberForum.ru

iconv - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Проверка многоугольника на выпуклость http://www.cyberforum.ru/cpp-beginners/thread730427.html
Здравствуйте. Не заходит вырезано задача. Не могу понять, почему. Проверял на схожесть знаков ориентированные площади треугольников из точек. Код: #include <iostream> #include <vector> #include <algorithm>
C++ Перевод из 2-ой в 8-ую СС Необходимо реализовать перевод чисел из двоичной в восьмеричную систему счисления. http://www.cyberforum.ru/cpp-beginners/thread730410.html
Матрица (Найти вектор B(l), каждый элемент которого равен среднему арифметическому элементов...) C++
Задана матрица A(k,l). Найти вектор B(l), каждый элемент которого равен среднему арифметическому элементов соответствующего столбца матрицы А. Похожие темы http://www.cyberforum.ru/csharp-beginners/thread591028.html http://www.cyberforum.ru/turbo-pascal/thread515227.html мой код #include <iostream> #include <time.h> using namespace std;
Составить процедуру, выполняющую сжатие массива удалением элементов, значение которых меньше заданного числа C++
Составить процедуру, выполняющую сжатие массива удалением элементов, значение которых меньше заданного числа. Вывести на экран максимальное значение среди удалённых элементов. Решите пожалуйста, кто сможет. Я в программировании не шарю, а лабу надо сделать
C++ Прочитать одной строкой с файла http://www.cyberforum.ru/cpp-beginners/thread730382.html
собственно в этом и вопрос, как считать целой строкой #include <iostream> #include <iomanip> #include <sstream> #include <string> #include <fstream> using namespace std; void process_all_transactions
C++ Строки (Расположить слова строки в порядке, обратном исходному) Здравствуйте,помогите пожалуйста. Задание: Расположить слова строки в порядке, обратном исходному. подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
14.12.2012, 13:22     iconv
Avazart, М. Ну у меня есть N codecvt классов, каждый производен от стандартного std::codecvt. Есть удобная обертка над iconv, где в одном месте все по факту конвертируется. Есть converterstream, в который выставляется codecvt (через imbue), у него есть метод str, в котором он конвертирует вообщем-то. Все работает быстро, красиво, удобно, надежно.) Работа с непосредственно iconv-ом в первом коде, остальное уже частности.

Так же в другом месте, где просто нужно конвертнуть, есть простенькая функция.

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
std::string convert_encoding(const std::string& data, const std::string& from, const std::string& to)
{
   if (data.empty())
   {
      return std::string();
   }
   iconv_t convert_hnd = iconv_open(to.c_str(), from.c_str());
   if (convert_hnd == (iconv_t)(-1))
   {
      throw std::logic_error("unable to create convertion descriptor");
   }
 
   char* in_ptr = const_cast<char*>(data.c_str());
   std::size_t in_size = data.size();
   std::vector<char> outbuf(6 * data.size());
   char* out_ptr = &outbuf[0];
   std::size_t reverse_size = outbuf.size();
 
   std::size_t result = iconv(convert_hnd, &in_ptr, &in_size, &out_ptr, &reverse_size);
   iconv_close(convert_hnd);
   if (result == (std::size_t)(-1))
   {
      throw std::logic_error("unable to convert");
   }
   return std::string(outbuf.data(), outbuf.size() - reverse_size);
}
 
Текущее время: 07:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru