ページ 1 / 1
さらに課題研究にて
Posted: 2007年5月01日(火) 17:55
by 夏天
C言語では
fscanf(fp,"%d %s %s\n",&n,str1,str2);
のようにスペースで区切ったところずつ読んでいくというものを
DXではどのようにやるのでしょうか
まったく手が付かないので教えてください
Re:さらに課題研究にて
Posted: 2007年5月01日(火) 18:22
by バグ
同じやり方で出来ますよ(;^_^A
Re:さらに課題研究にて
Posted: 2007年5月01日(火) 18:41
by 夏天
むむ、できません・・・
なぜでしょう・・・
ちなみにソースはこうです
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
int FileHandle ;
int n;
char str1[200],str2[50];
FILE *fp
// DXライブラリの初期化
if( DxLib_Init() == -1 ) return -1 ;
// test.cpp ファイルを開く
//FileHandle = FileRead_open( "test.txt" ) ;
fp = fopen("test.txt" , "r");
// 一行読む
fscanf(fp,"%d %s %s\n",&n,str1,str2);
// 画面に描画
DrawString( 0, 0, str1, GetColor( 255,255,255 ) ) ;
// キー入力を待つ
WaitKey() ;
// ファイルを閉じる
//FileRead_close( FileHandle ) ;
fclose(fp);
// DXライブラリの後始末
DxLib_End() ;
return 0 ;
}
実行画面が半角のフがズラリとなっています
Re:さらに課題研究にて
Posted: 2007年5月01日(火) 18:58
by box
> FILE *fp
セミコロンがないのは単なるtypoですか?
> fp = fopen("test.txt" , "r");
間違いなくオープンできていますか?
fpがNULLでないことを確認する必要があります。
また、fopen(), fscanf(), fclose()を使うのであれば、
stdio.hのインクルードが必要でありましょう。
Re:さらに課題研究にて
Posted: 2007年5月01日(火) 18:58
by バグ
fopen関数を使うのに必要なファイルがインクルードされていませんよ(;^_^A
DxLib.hだけでは駄目です(>_<)
Re:さらに課題研究にて
Posted: 2007年5月01日(火) 19:00
by バグ
うわ、モロ被りしてしまいました(苦笑)
Re:さらに課題研究にて
Posted: 2007年5月01日(火) 19:06
by 夏天
ほ、ホワアァ!できました!!
stdio.hはDXでインクルードしてくれているものだと勘違いしていました
インクルードしたところ無事動いたのでよかったです。
どうもありがとうございました!!
Re:さらに課題研究にて
Posted: 2007年5月02日(水) 13:55
by 管理人
遅くなりました・・。話題がさめた頃にやってきてすみませぬ(_ _|||)
ファイル関係の関数はDXライブラリ独自のものもあります。
http://homepage2.nifty.com/natupaji/DxL ... html#R19N1
ここから下に書いてある関数は全てそうです。
しかしこれらは、「読み込むだけ」なので、データを作ったりするときは普通のCの標準関数を使って欲しいと作者様からも言われました。
これは
http://homepage2.nifty.com/natupaji/DxL ... c.html#T11
アーカイブを使って全てのファイルを一つにしたとき、それを読み込むものですので違う用途で用意されたものです。
今後のご参考までに。。