ファイルに整数の束を書き込んだり、後でそれらを読み取ることができます。私の問題は、ファイルに整数を書き込むと、より小さい整数は4バイト未満で終了するということです。したがって、例えば1は00 00 00 01ではなく01として表されます。これは、1つの整数の始まりと終わりがわからないため、ファイルの読み込みに問題があることを意味します。ファイルに書き込む整数が常に4バイトになるようにするにはどうすればよいですか?私のコードは以下の通りです:C++ 4バイト長のバイナリファイルに整数を書き込む方法
std::fstream file;
file.open("test.bin", std::ios::out | std::ios::binary);
for each(int i in vectorOfInts) {
file << i;
}
file.close();
使用[ 'file.write()'](http://en.cppreference.com/w/cpp/io/basic_ostream/write)します。 –
バイナリファイルへの書き込みにunsigned charsを使用する理由なぜストリーム演算子をバイナリファイルに書き込むべきではないでしょうか?](http://stackoverflow.com/questions/7460206/why-use-unsigned-chars-for-writing-to-binary-files-and-why -shouldnt-stream-ope) –
なぜ "00 00 00 01"と書いておきたいのですか? – RyanP