私が読んでいる本では、バイナリについて話を始めました。バイナリファイルに出力する方法は、テキストファイルに出力する方法と同様です。だから私はもっと読むことを始め、試してみたいです。しかし、私は簡単な問題のように思えるものに遭遇しましたが、バイナリファイルに関しては私が理解していないことを考慮して正しく理解していません。C++のバイナリファイルへの出力に問題があります
したがって、構造体と関数を作成しました。以下のように。
file.write(address, size)
:本の中で、それは私がバイナリに出力することに次のようなものを書くべきであると述べ、今
void BinaryCreation(celebrities actors)
{
fstream file;
file.open("binaryfile.txt", ios::binary | ios::out);
:
struct celebrities
{
char name[15];
char lastName[15];
};
void BinaryCreation(celebrities);
int main()
{
celebrities actors = { "Denzel", "Washington" };
BinaryCreation(actors);
system("pause");
}
今、私は、バイナリファイルを作成します
どのように私は構造を持っている場合、どのように正確に私はそれを行うのですか?私は以下を試しました:
file.write(&actors.name, sizeof(actors.name));
file.write(&name, sizeof(name));
また、再解釈キャストを試みました。 は、私はまた、エラーなしの意味で働いていた以下の
file.write(actors.name, sizeof(actors.name));
をしましたが、それは、出力はテキスト形式(ASCII)でファイルになります。
私はこれがとても簡単で、何かを見落としていると確信していますが、現時点ではわかりません。
出力タイプをバイナリに変更しても、魔法のようにテキストが変更されることはありません。それはまだテキストであり、同じ値として書き込まれます。違いは、バイナリ出力にはテキストではない文字(NULLや0x01や0x02など)を含めることができる点です。 –
@KenWhite私はそれが私を捨てたものだと思っています。私はたくさんのシンボルを期待していましたが、代わりに同じテキストを持っていました。入力いただきありがとうございます。 – ReMaKe