2
この質問はLoading a file into a vectorとよく似ています。しかし、この場合、それを符号なしの文字列のベクトルにロードします。ファイルをベクトルにロードする<unsigned char>
他の質問のコードを使用すると、無署名のcharベクターをロードする最も良い方法は何ですか? 'にunsigned char型の*' から 無効の変換 'のstd :: basic_istream
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));
}
に私はそれを次のコンパイルエラーをして取得するとき –
@MachoMatt read関数の呼び出しの最初の引数にキャストを追加します: 'reinterpret_cast(&vec.front())' –
@ benjamin-lindleyのコメントで受け入れられました。受け入れられた回答とコメントの両方が必要です。 –