Как исправить ошибку с помощью std: ifstreambuf_iterator & lt; char32_t & gt ;?

У меня есть этот простой код, который должен перебрать четыре байта из файла и передать его в функцию utf8 :: utf32to8, которая преобразует файл из кодировки utf32 в utf8:

ifstream my_file(sourceFilePath, std::ifstream::binary);

vector<unsigned char> res_utf8;
utf8::utf32to8(std::istreambuf_iterator<char32_t>(my_file),
std::istreambuf_iterator<char32_t>(),
back_inserter(res_utf8));
out.write((char*)&res_utf8[0], res_utf8.size());

Но когда я компилирую, я получаю эту ошибку:

error: invalid user-defined conversion from 'std::ifstream {aka std::basic_ifstream<char>}' to 'std::istreambuf_iterator<char32_t>::streambuf_type* {aka std::basic_streambuf<char32_t, std::char_traits<char32_t> >*}' [-fpermissive]
utf8::utf32to8(std::istreambuf_iterator<char32_t>(my_file),
^

Пожалуйста, помогите мне успешно выполнить этот код.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]