2
Этот вопрос очень похож на Loading a file into a vector; однако в этом случае я хочу загрузить его в вектор беззнаковых символов.Загрузка файла в вектор <unsigned char>
Используя код с другого вопроса, что является лучшим способом загрузить беззнаковый вектор символов?
std::vector<char> vec; // Would like this to be std::vector<unsigned char> vec;
std::ifstream file;
file.exceptions(
std::ifstream::badbit
| std::ifstream::failbit
| std::ifstream::eofbit);
file.open("test.txt");
file.seekg(0, std::ios::end);
std::streampos length(file.tellg());
if (length) {
file.seekg(0, std::ios::beg);
vec.resize(static_cast<std::size_t>(length));
file.read(&vec.front(), static_cast<std::size_t>(length));
}
Я получаю следующее сообщение об ошибке компиляции при выполнении этого: недопустимого преобразования из 'неподписанного символа *' до 'станд :: basic_istream :: char_type * {аки символа *}' –
@MachoMatt Добавить бросок к первому аргументу вашего вызова функции чтения: 'reinterpret_cast (& vec.front())' –
Принято с комментарием @ benjamin-lindley. Требуется как принятый ответ, так и комментарий. –