今まで取り扱ってきたファイルはテキストファイルでした。バイナリファイルとは、コンピュータ内部で使用されるデータ形式をそのまま書込んであるファイルです。テキストエヂィタなどで開いても、意味のある文章にはなりません。テキストファイルでは、123という数値も"123"という文字列として書込まれています。
バイナリファイルの入出力は、基本的にはテキストファイルのそれと同じ方針でよいのですが、ファイルオープンモードや読込み•書込みのときに使用する関数がことなります。
bufferには、書込むデータへのポインタを指定します。size には、項目のサイズをバイト単位で指定します。普通は sizeof 演算子を利用するので size_t 型となっています。count には、書込む最大項目数を指定します。文字列などを書込む場合は strlen 関数を利用するので、size_t 型となっています。stream には、FILE 構造体へのポインタを指定します。戻り値は、実際に書込んだ項目数となります。
buffer には、データの格納場所を指定します。size には、項目のバイト数を指定します。count には、読み出す最大の項目を指定します。stream には、FILE 構造体へのポインタを指定します。戻り値は、実際に読み出した項目数となります。
バイナリファイルの書き込みには fwrite 関数を使う。
バイナリファイルの読込みには fread 関数を使う。
ソースコード源文件
| |||||
---|---|---|---|---|---|
実行結果
これを実行すると mybinary.b というファイルが作られます。この中身をいすとエディタで開いてみて下さい。何だか分かりませんね。
では、文字列なども書込んでみましょう。
|