音量設定を実装しました!
原理としては普通に
void file_printf( void )
{
FILE* fp;
fopen_s( &fp , "dat/csv/Volume.csv" , "w" );
fprintf( fp , "%3d,%3d," , bgm_vol , se_vol );
fclose (fp);
}
void SoundVolumeLoad( void )
{
FILE* fp = fopen( "dat/csv/Volume.csv" );
char Buf[32];
int n = 0;
while(1){
for( int i = 0 ; i < 32 ; i++ ){
Buf[i] = fgetc(fp);
if( Buf[i] == ',' ){
goto ADD_NUMBER;
}
if( Buf[i] == EOF ){
goto FILE_READ_END;
}
}
ADD_NUMBER:
switch(n){
case 0: bgm_vol = atoi(Buf); break;
case 1: se_vol = atoi(Buf); break;
}
n++;
}
FILE_READ_END:
fclose(fp);
}
てな感じで通常のfopenで書き込んでいますが、
どうもこれだとエラーになります。
VisualStudioでのデバッグだとエラーにはならないのですが、
アーカイブファイルとexeファイルを入れたフォルダ(いわゆる完成状態)
にすると、fopenの時点で引っかかる、
DXライブラリに入っているFileRead系のファイルポインタにしたらこの不具合は起こらず、
普通に動くようになりました。
う~ん
「Win32APIのファイル読み込みも、fopenも同じようなもの」と言われていたので普通に使っていましたが、
これはWinAPIのほうのファイルポインタでいったほうが妥当なのかもしれませんなぁ…
まぁ直ぐに治りそうなバグではありますが、、、
アーカイブなのがいかんのかなぁ…