ファイルの読み込み

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

ファイルの読み込み

#1

投稿記事 by COUTION » 15年前

はじめまして
ライブラリはDXライブラリで
VC++2010を使ってます
txtファイルを読みこんでint型の配列に入れてゲームのマップを作ろうとしてるんですか
intの変数にtxtの数字をうまく入れられません。
int map[5][5]={
{1,0,0,0,1},
{1,0,0,0,1},
{1,0,0,0,1},
{1,0,0,0,1},
{1,1,1,1,1},
};
このような事をファイルから読み込みたいんですがうまくできません
int FileHandle, y ,map ;

// test.txt を開く
FileHandle = FileRead_open( "test.txt" ) ;

// 表示Y座標の初期化
y = 0 ;

// ファイルの終端が来るまで表示する
while( FileRead_eof( FileHandle ) == 0 )
{
    // 一文字読む
    map = FileRead_getc( FileHandle ) ;

    // 画面に描画
    DrawFormatString( 0, y , GetColor( 255,255,255 ) , "%d" , map) ;

    // 表示Y座標を下にずらす
    y += 16 ;
}

// ファイルを閉じる
FileRead_close( FileHandle ) ;


---test.txtの中身----
10001
10001
10001
10001
11111
---------------------
これでためしに表示してみたんですが
49
48
48
48
49
・・・
(以下略)
みたいになります
1
0
0
0
1
みたいになれば配列に入れてやろうと思ったんですが・・・
どうすればいいでしょうか?
説明下手ですいません 画像

お豆

Re:ファイルの読み込み

#2

投稿記事 by お豆 » 15年前

確認できる環境にいないので、質問になってしまいますが
31じゃなくて49になるんですか?
---2010_8_2 19:49--------------------
(追記)そういえば10進数は49でしたね、解決方法は出てたみたいなので、追記編集としました

プログラムの雰囲気からして、文字'1'(31)をmap変数に入れて、それを整数値として
出力しているように見えますけど 画像

COUTION

Re:ファイルの読み込み

#3

投稿記事 by COUTION » 15年前

0は48、1は49、2は50って感じです

>プログラムの雰囲気からして、文字'1'(31)をmap変数に入れて、それを整数値として
>出力しているように見えますけど

多分そうです
文字'1'を整数値の1にするやり方が分からなくて
どうしたらいいでしょうか?

toyo

Re:ファイルの読み込み

#4

投稿記事 by toyo » 15年前

48を0にしたいのですから48を引けばいいのではないでしょうか
map = FileRead_getc( FileHandle ) - 48;
または
map = FileRead_getc( FileHandle ) - '0';
のような書き方もよく見ます

COUTION

Re:ファイルの読み込み

#5

投稿記事 by COUTION » 15年前

なるほど!
そういう考えは思いつきませんでしたw
これで出来そうです!
お豆さんtoyoさんありがとうございました!
解決しておきますが何か他にも良いやり方などありましたら教えてくれるとありがたいです

nanashi

Re:ファイルの読み込み

#6

投稿記事 by nanashi » 15年前

FILE *pFile = NULL;
int data;
int array[5][5];
if( ( pFile = fopen( test.txt, "r" ) ) != NULL ){
for( int y = 0; y < MAP_Y; y ++ ){
for( int x = 0; x < MAP_X * MAP_MAX; x ++ ){
fscanf( pFile, "%d", &data );
array[5][5][ y ][ x ] = data;
}
}
}else{
printf("読み込めない\n");
}

fclose( pFile );

---test.txtの中身----
1 0 0 0 1
1 0 0 0 1
1 0 0 0 1
1 0 0 0 1
1 1 1 1 1
---------------------
これはどうでしょうか?

COUTION

Re:ファイルの読み込み

#7

投稿記事 by COUTION » 15年前

出来ました!w
nanashiさん
ありがとうございました!

閉鎖

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