У меня есть этот простой код, который должен перебрать четыре байта из файла и передать его в функцию 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),
^
Пожалуйста, помогите мне успешно выполнить этот код.
Задача ещё не решена.
Других решений пока нет …