Код: Выделить всё
std::ifstream.read(myChunkBuff_str, myChunkBuff_str.length())Вот более подробный пример
Я получаю около 16 тысяч символов с каждым куском. < /p>
Я использую следующую функцию для преобразования, взятой отсюда: < /p>
#include
#include
#include
std::string narrow (const std::wstring& wide_string)
{
std::wstring_convert convert;
return convert.to_bytes (wide_string);
}
std::wstring widen (const std::string& utf8_string)
{
std::wstring_convert convert;
return convert.from_bytes (utf8_string);
}
< /code>
Однако в конце чанка может быть отстранен один из русских символов, и преобразование пройдет, с исключением std :: range_error < /code>. < /p>
, например, в UTF-8 ", My Bese Take 15 Chars и" Prrive. Был гипотетически 14, «Т» был бы частично отсутствовать, и преобразование вызовет исключение. («Т» в этом случае) это позволило бы мне преобразовать без него и, возможно, сдвинуть следующий кусок чуть раньше, чем планировался, чтобы включить этот проблемный «Т» в следующий раз? Это также не говорит мне: «сколько персонажа не хватало для преобразования, чтобы на самом деле добиться успеха».>
Подробнее здесь: https://stackoverflow.com/questions/523 ... e-read-chu
Мобильная версия