C言語 バイナリファイルの書き込み バイナリファイルのコピー - stdio.h - [ fwrite ]
2008.09.24 Wednesday | by LRESULT
バイナリファイルの書き込みには、fwrite()関数を使用します。
fopen()のオープンモードを、"wb"とするのを忘れないようにして下さい。
書式 | size_t fwrite( const void *buf, size_t size, size_t num, FILE *fp ) |
---|---|
機能 | バイナリファイルを書き込む |
引数 | const void *buf : バイナリデータを書き込むバッファ size_t size : データ要素1個のサイズ size_t num : データの個数 FILE *fp : ファイル(ストリーム)ポインタ |
戻り値 | 書き込んだデータ要素の個数を返します。 |
バイナリファイルコピーのサンプルです。 10x10ドットのビットマップファイル「test.bmp」を バイナリファイルとして読み込んだ後、「copy.bmp」として内容をコピーして出力します。 |
---|
#include <stdio.h>
int main(void) fpr = fopen( fname_r, "rb" ); fpw = fopen( fname_w, "wb" ); size = fread( buf, sizeof( unsigned char ), 10000, fpr ); fclose( fpr ); printf( "%sファイルのコピーが終わりました¥n", fname_w ); |
copy.bmpファイルのコピーが終わりました |
---|
成功すると、このように表示され、 「test.bmp」ファイルと同じフォルダに「copy.bmp」がコピー出来ていたら成功です。 fopen()のモードを "wb" にするのを忘れないようにして下さい。 このサンプルでは、10000バイトを超えるファイルを コピー出来ませんのでご注意下さい。 |