バイナリファイルの生成ができないです

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
weaseve
記事: 29
登録日時: 12年前

バイナリファイルの生成ができないです

#1

投稿記事 by weaseve » 12年前

http://dixq.net/g/03_11.html
に書いてあることを真似して作ってみたのですが、いくらデバッグしてもバイナリファイルば生成されません。どうしたらいいですか?(変数名とか動作に関係ない自作関数は気にしない方向で・・・・・・)

コード:

#include <stdio.h>

#include "Select.h"

typedef struct
{
	int DisplayX;
	int DisplayY;
}SizeData_t;

int Read()
{
	SizeData_t Data;
	FILE *fp = fopen( "Config.dat", "rb" );
	if( fp == NULL )
	{
		return 0;
	}
	fread( &Data, sizeof(Data), 1, fp );
	fclose( fp );

	Select_Load(Data.DisplayX);

	return 0;
}

int Write()
{
	SizeData_t Data = {Select_XY(0),Select_XY(1)};
	FILE *fp = fopen( "Config.dat", "wb" );
	if( fp == NULL )
	{
		return 0;
	}
	fwrite( &Data, sizeof(Data), 1, fp );
	fclose( fp );
	return 0;
}

Select_XYという自作関数は書き込みたいint型の数を返すもの、Select_Loadは読み込んだものをSelect.cppにある変数に代入するものです。
関数(Read・Write)はmain文で呼び出し、操作する前後にあります。
(↓このような感じ)

コード:

#include "DxLib.h"

#include "FileReadWrite.h"
#include "Select.h"
#include "Graph.h"

#define DisplayX  320
#define DisplayY  240

static int EndF=0;

int Loop()
{
	int RETURN=0;
	RETURN+=ScreenFlip();
	RETURN+=ProcessMessage();
	RETURN+=ClearDrawScreen();
	return RETURN;
}

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
						LPSTR lpCmdLine, int nCmdShow )
{
	SetMainWindowText( "Config" ) ;
	ChangeWindowMode( TRUE ) ;
	SetWindowSizeExtendRate( 1.0 ) ;
	SetAlwaysRunFlag( TRUE ) ;
	SetGraphMode( DisplayX , DisplayY , 32 ) ;

	SetDrawMode( DX_DRAWMODE_NEAREST ) ;
	SetDrawScreen( DX_SCREEN_BACK ) ;

	SetBackgroundColor(0,0,0);

	//SetWaitVSyncFlag(FALSE);

	if( DxLib_Init() == -1 )		// DXライブラリ初期化処理
	{
		return -1 ;			// エラーが起きたら直ちに終了
	}

	ChangeFontType(DX_FONTTYPE_ANTIALIASING_4X4);
	SetFontSize(32);

	int Read();//ファイルの読み込み

	while( 0 == Loop()&&EndF==0)
	{
		if(0==Write_Graph( Select_XY(0) ) )
		{
			if(1==Select_Update() )
			{
				EndF=1;
			}
		}
	}

	int Write();//ファイルの書き込み

	DxLib_End() ;				// DXライブラリ使用の終了処理

	return 0 ;				// ソフトの終了 
}

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: バイナリファイルの生成ができないです

#2

投稿記事 by みけCAT » 12年前

関数の宣言だけをして、呼び出しをしていないので、ファイルアクセスは行われません。
WinMain関数内のintを全て消してください。
オフトピック
成功しても失敗してもreturn 0;なら戻り値の意味がない気がするなあ…
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

weaseve
記事: 29
登録日時: 12年前

Re: バイナリファイルの生成ができないです

#3

投稿記事 by weaseve » 12年前

間違いの指摘ありがとうございます。
直したらちゃんと動きました。ありがとうございます。

閉鎖

“C言語何でも質問掲示板” へ戻る