セーブデータを複数作成できるようにするので、char型配列のファイルパスを勝手に組み上げてくれるプログラムを書き、
そのデータをfopen関数に渡すと必ず失敗します。何か対策などあるでしょうか?
int WINAPI WinMain(...)
{
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
// フォルダ
char Path[32] = "savefile/";
// ファイル名
char FileName[16] = "file0.dat";
// シーク情報
int PathSeek = 0;
int NameSeek = 0;
// パスの長さを測る
while (Path[PathSeek] != NULL)
PathSeek++;
// テキストをくっつける
while (FileName[NameSeek] != NULL)
{
Path[PathSeek] = FileName[NameSeek];
PathSeek++;
NameSeek++;
}
// NULL文字を入れる
Path[PathSeek] = NULL;
// ファイルを開く。行を短縮できるので_sを使ってるけど普通の「fopen」でも同じ現象が起こる
FILE *file;
if (fopen_s(&file, Path, "w") != 0)
MessageBox(NULL, "ファイルの作成に失敗しました。", "ERROR - File Open Failed", MB_OK);
else
{
// 保存ファイル
int TestData = 999;
fwrite(&TestData, sizeof(int), 1, file);
fclose(file);
}
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}