ファイルの読み込みについて

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

ファイルの読み込みについて

#1

投稿記事 by むつ » 8年前

初めて質問させてもらいます。
c言語は超初心者です。
自分はDxLidで音ゲーを作ろうとおもって、なんとなく曲選択画面のようなものを作りましたが、
例えば譜面フォルダにあるテキストファイルを全部読み込んで表示する、のようなものと
よくある、譜面(テキスト)ファイルの中に #BPM 120 のような指示を書いてその値を読み込む、
という方法がわからないです。
わからないので曲情報は全部iniファイルで実装しようと思っていたのですが、ここに質問したらわかるかな?と思い質問させていただきました。

C6b14

Re: ファイルの読み込みについて

#2

投稿記事 by C6b14 » 8年前

[quote="むつ" id=3,18619#postingbox,141301]...超初心者です。...曲選択画面のようなものを作りましたが、...テキストファイルを全部読み込んで表示する...よくある、譜面(テキスト)ファイルの中に #BPM 120 のような指示を書いてその値を読み込む....曲情報は全部でiniファイル実装しようと思っていたのです..[/quote]
質問の内容を まず 整理しないとよくわからないのですが [ iniファイル実装 ] は サンプルぐらいは は 出来ているのでしょうか?。
表題から ファイル の 読み込み が 焦点の ように 思えますが ini ファイル の読み込み は出来ている(バイナリなので)。 
「テキストファイルを全部読み込は」 ちょっと と いう事 なのでしょうか。(自分もそういう状態なので)(バイナリでの読み方はこの前ここの質問の答えの中で コードをみせていただいてわかりました) 

むつ

Re: ファイルの読み込みについて

#3

投稿記事 by むつ » 8年前

iniファイルから値と文字列を読み込むことはできます。。
テキストファイルの扱いも少しはできる、という感じです

むつ

Re: ファイルの読み込みについて

#4

投稿記事 by むつ » 8年前

テキストファイルを全部読み込む というのは、
太鼓さん次郎のように、完全なファイルパスを指定せずに(?)複数読み込む、ということなんですが
それをうまく説明できないのです。

C6b14

Re: ファイルの読み込みについて

#5

投稿記事 by C6b14 » 8年前

例えば でたらめ でいいから コード を 提示  してください。

C6b14

Re: ファイルの読み込みについて

#6

投稿記事 by C6b14 » 8年前

[iniファイルで実装] した 場合 で いいですよ。

C6b14

Re: ファイルの読み込みについて

#7

投稿記事 by C6b14 » 8年前

"太鼓さん次郎のように、完全なファイルパスを指定せずに(?)複数読み込む"
というのが わかってしまえば 簡単だと いう きがするので 

”例えば譜面フォルダにあるテキストファイルを全部読み込んで表示する、のようなものと
よくある、譜面(テキスト)ファイルの中に #BPM 120 のような指示を書いてその値を読み込む”

と 関連がありますか。 ゲームのことは初心者 なので どなたか 詳しい方には わかるかも知れません。 もう すこし 思いつくことが 何かないですか。もう 少し のような 気は します。 

 

C6b14

Re: ファイルの読み込みについて

#8

投稿記事 by C6b14 » 8年前

例えば 関連 する ような ホームページ とか?
http://hitkey.nekokan.dyndns.info/bmse_ ... 5609.shtml

むつー

Re: ファイルの読み込みについて

#9

投稿記事 by むつー » 8年前

取り合えず読み込むことだけを考えると

コード:

#include "DxLib.h"
#include <stdio.h>

int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
    ChangeWindowMode(TRUE),SetGraphMode( 1280 , 720 , 32 ),SetAlwaysRunFlag(TRUE),DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK );          
    if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;//初期化と裏画面化

char neam[256];
char neam2[256];

int neam0=GetPrivateProfileString("tast","name","tast",neam,sizeof(neam),("tast.ini"));//iniから文字列をもらう。
FILE *fp;//ファイルポインタ??
int a=sprintf(neam2,"%s.txt",neam);//iniからもらった文字列に.txtを追加
if ((fp = fopen(neam2, "r")) == NULL) {
	    DxLib_End();    // DXライブラリ終了処理
        return 0;
}

        WaitKey();      // キー入力待ち
        DxLib_End();    // DXライブラリ終了処理
        return 0;
}
極端にiniファイルから情報を得てファイル開きたい場合はこうするのかな。。。

思ったんだけど、専用のテキストファイルからファイル名をもらうのもいいじゃんとか思ったので一応解決解決ですね。
ありがとうございました。

C6b14

Re: ファイルの読み込みについて

#10

投稿記事 by C6b14 » 8年前

[追記]ここの http://zmy10.blog110.fc2.com/blog-entry-2233.html 話 だったのですね。( iniファイル で ルックアップ テーブル を 作れば いいと思います。)

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

Re: ファイルの読み込みについて

#11

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

むつ さんが書きました:例えば譜面フォルダにあるテキストファイルを全部読み込んで表示する、のようなものと
一例として、
  1. ファイル検索API(WindowsならFindFirstFileFindNextFileFindClose)でフォルダ内のファイル名を取得する
  2. 取得したファイルの情報を読み込み、std::vectorかなんかに格納する
  3. ファイルの検索が終わったら、格納した情報をもとに表示する
という流れでやるといいと思います。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

C6b14C

Re: ファイルの読み込みについて

#12

投稿記事 by C6b14C » 8年前

C++ で vector が使えるのなら イテレータ を 工夫すれば 配列の拡張なので テーブルを 作るのが 楽になると おもいます。
(曲名 だけ で 相対パス が 見つかると 前提) 

閉鎖

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