さらに課題研究にて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
夏天

さらに課題研究にて

#1

投稿記事 by 夏天 » 18年前

C言語では
fscanf(fp,"%d %s %s\n",&n,str1,str2);
のようにスペースで区切ったところずつ読んでいくというものを
DXではどのようにやるのでしょうか
まったく手が付かないので教えてください

バグ

Re:さらに課題研究にて

#2

投稿記事 by バグ » 18年前

同じやり方で出来ますよ(;^_^A

夏天

Re:さらに課題研究にて

#3

投稿記事 by 夏天 » 18年前

むむ、できません・・・

なぜでしょう・・・

ちなみにソースはこうです

#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 ;
}

実行画面が半角のフがズラリとなっています

box

Re:さらに課題研究にて

#4

投稿記事 by box » 18年前

> 	FILE *fp

セミコロンがないのは単なるtypoですか?

> 	fp = fopen("test.txt" , "r");

間違いなくオープンできていますか?
fpがNULLでないことを確認する必要があります。

また、fopen(), fscanf(), fclose()を使うのであれば、
stdio.hのインクルードが必要でありましょう。

バグ

Re:さらに課題研究にて

#5

投稿記事 by バグ » 18年前

fopen関数を使うのに必要なファイルがインクルードされていませんよ(;^_^A
DxLib.hだけでは駄目です(>_<)

バグ

Re:さらに課題研究にて

#6

投稿記事 by バグ » 18年前

うわ、モロ被りしてしまいました(苦笑)

夏天

Re:さらに課題研究にて

#7

投稿記事 by 夏天 » 18年前

ほ、ホワアァ!できました!!
stdio.hはDXでインクルードしてくれているものだと勘違いしていました
インクルードしたところ無事動いたのでよかったです。

どうもありがとうございました!!

管理人

Re:さらに課題研究にて

#8

投稿記事 by 管理人 » 18年前

遅くなりました・・。話題がさめた頃にやってきてすみませぬ(_ _|||)

ファイル関係の関数はDXライブラリ独自のものもあります。
http://homepage2.nifty.com/natupaji/DxL ... html#R19N1
ここから下に書いてある関数は全てそうです。
しかしこれらは、「読み込むだけ」なので、データを作ったりするときは普通のCの標準関数を使って欲しいと作者様からも言われました。

これは
http://homepage2.nifty.com/natupaji/DxL ... c.html#T11
アーカイブを使って全てのファイルを一つにしたとき、それを読み込むものですので違う用途で用意されたものです。

今後のご参考までに。。

閉鎖

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