ファイルの書き込み
この最後にファイルの書き込みについて記載していきます。
ファイルを開く
data.datというファイルを書き込みで開く場合は下記のようになります。
HANDLE hFile = CreateFile("data.dat", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, NULL);
これでdata.datというファイルを書き込みモードで開いています。
今回の設定ではファイルの有無に関わらずファイルは新しく生成されます。
ファイルを書き込む
次に開いたファイルにデータを書き込みます。
DWORD dwSize; int data = 10; WriteFile(hFile, &data, sizeof(data), &dwSize, NULL);
これで hFile で制御されたファイルに data の内容を書き込むことができます。
dwSize には実際に書き込んだサイズが返ってきます。
基本的には第三引数で指定したサイズがそのまま返ります。
第五引数は基本的にNULLで構いません。
※ファイルを書き込んだ後は書き込んだサイズ分だけファイルポインタ(書き込み位置)が進みます。
戻り値は成功か失敗かのBOOL値が返ってきます。
他は操作は基本的に読み込みと同じになります。
ファイル操作はゲームを作っていると必ず必要になる処理なので活用してより良いゲームを作っていきましょう!
おまけ
ファイルサイズの取得
ファイルを開いた時にファイル全体のサイズを知りたい場合があります。
そういった時は下記の関数で取得することができます。
DWORD dwSize = GetFileSize(hFile, NULL);
これでファイルのサイズが取得できます。
必要に応じて使ってみてください!