>> C言語関数一覧トップに戻る

C言語 fwrite 使い方

今回はC言語のfwrite関数について説明します。

fwrite関数は指定バイト数のデータを指定した個数だけファイルに書き込みます。

■書式
#include
size_t fwrite(const void *buf, size_t size, size_t n, FILE *fp);

第一引数はデータが入ったバッファ
第二引数はデータ1個のバイト数
第三引数は書き込むデータの個数
第四引数はファイルポインタ

を指定します。
一度書き込みを行うとファイルポインタはその書き込んだ位置にずれます。
なのでどんどんデータを後ろに追記できる仕組みになっています。

戻り値は書き込んだデータの個数を返します。
■サンプルコード
#include <stdio.h>

int main(void)
{
	char ch[50] = "ABCDEFGH";
	FILE *fp;

	fp = fopen("test.txt","w");

	//1バイトのデータを6個(6バイト分)書き込む。
	fwrite(ch,1,6,fp);

	
	fclose(fp);

	//書き込まれているか確認。
	fp = fopen("test.txt","r");

	fgets(ch,50,fp);

	printf("書き込まれた文字は→%s\n",ch);

	fclose(fp);
	
	return 0;
}
■実行結果
書き込まれた文字は→ABCDEF


文字配列chには「ABCDEFGH」という文字列が格納されています。
それをfwriteで1バイトを6個書き込む、つまり6バイト分書き込んでいます。
なので「ABCDEF」まで書き込まれることになります。
ファイルを読み込んで表示してみると、確かにその6バイト分だけ書き込まれていることがわかります。
>> 【C言語 getc 使い方】に進む
>> C言語関数一覧トップに戻る