行の途中にコメントを入れる事は無いので。ポインタは使用しておりません。こんな感じですか?、と言うサンプルを示す物ですので、現在書いているコードとは異なっております。fgetsで1行ずつ読み込むようにし、使用していない/無駄な変数は消してみました。ファイルクローズ}【編集】空行を読み飛ばす処理を追加しましたサンプルコードありがとうございます。自分の書いていたコードよりすっきりして見やすいです。1行64バイトまでとなっておりますので仕様は変えないで行いたいと思います最初のプログラムでは、1行に128バイトちょうど書かれている場合、誤動作する可能性があります。そのようなテストケース(最大テストケース)でのテストはしていますか?もちろん1行が64バイトまでという仕様なら大丈夫です。エラー処理ですか...そうですね、ファイルが無い時だけエラーを出すような物でも良いかもしれません。ユーザーは書く事がないのでごっそり減らします。あとは、エラー処理がどのくらい必要かですね。読み込むファイルをこの処理の作者しか書かないのでしたら、エラー処理はほとんど省略でいいと思います。逆に、読み込むファイルをユーザーが(普通の状況=チート/公式でない改造ではない状況で)書くことがあるのでしたら、エラー処理をきちんと考えた方がいいと思います。fgetcで読み込み、行の最大の長さを超えた部分はメモリに保存しないという処理方法が考えられます。fgetcでですか?fgetsでは無く?>>へろりんご様コードの書き方という事でしたら、若干スパゲッティ化してますので、これを解決するのが第一の目標でしょう。不要なカウンタが多いです。原則としてカウンタを減らすのは軽く禁じ手です。日本語でコードを書いてみるとすっきりします。){ファイルを読み込むファイルが無ければエラー終了ファイルから読み込んだデータを変数にコピーファイル閉じる正常終了}のようにするのですか?それとも、フローチャートの様にするのですか?まず、構造化を意識します。1関数は、1機能だと心がけてください。読み込むファイルを関数内で、決め打ちしてますが、これは引数として渡すべき物です。プログラムを殺してしまう関数はあまり好ましくありません。戻り値を利用し、失敗時にはエラーを返すようにするべきです。正否の判断は、呼び出し元に責任を負わせた方がいいです。心がけてコーディングしていきます。指摘されないと気がつかない物なんですね。クラスのメンバ変数でしょうか。C言語的には、これも引数として与えた方がいいです。適当ですが、C言語的に書くと、こんな感じでしょうか。コンパイルはしてません。ポインタの配列のようですが、件のコードの中に、これらのメンバを動的に確保していないようですが、よいのでしょうか。前のスレッドを見てないから分かりませんが。musicは構造体配列です。Hoge_tの中にポインタがありますが本当は二次元配列です。出来れば、Hoge_t構造体があるファイルの中だけで行いたいのですが、どうしても引数にしなければいけませんか?ところで、ファイルフォーマットの仕様に触れるなら、そもそも件のフォーマットはあまりよろしくありません。ファイル内のデータの整合性を保証する仕組みが一切備わっていませんね。プログラム内で、読み込んだデータの整合性を保証することが極めて困難です。フォーマットの仕様を考えなおした方がいい気がします。フォーマットを考え直してみました。このあたりの仕様は変更します。何となく気持ち悪いので。=========================================================このようになりましたが、このような書き方はあまりしたくないので仕様の変更は後々します。このようにすればへろりさんのいっていた判断出来ない問題は解決するのか?と考えました。これよりも良い方法があれば教えていただきたいです。オフトピック本当にどうでも良い事なので気にしないでください。なっていておおwとなっただけです。本件と関係無い事書いてしまい、申し訳ありません。構造体に纏めるとはそういうことです但しみけCATさんが言っているように、メンバにポインタ変数やポインタ配列があったらアウトですので曲名やコメントは2次元配列にしておいてくださいね(ポインタの参照先を書き出すようにすれば出来なくはないですけど、面倒なだけですからね)みけCATさんへの返信の中にある通り、あくまでサンプルで書いた物ですので本当は二次元配列にしてあります。関数でバイナリ読み込みモードでファイルを読み込むというだけのことです。難しく考えず構造体を中身のデータごとそのまま書きだして、そのまま読み込むと考えてくださいね正直、自分もインタプリタは大雑把にしか分かりません...ですが、少々行程が面倒かな...?と思いました。出力関数と読み込み関数を書かなくては行けないので...また、へろりさんの返信にある通りテキストで読めた方が誤植の修正が楽にしたいかなと考えテキスト形式にしました。非表示エリアこの非表示エリアを表示するには、登録し、ログインする必要があります。非表示エリアこの非表示エリアを表示するには、登録し、ログインする必要があります。変数名や関数名の命名規則は統一しましょう。具体的に言えば、FileNameとその他です。統一されてないと汚く見え、スマートにはまず見えません。どのような命名規則でも良いですが、とにかく統一することは常に頭に入れておいてください。変数名は一応ハンガリアン記法っぽくしていますが、即時に思いついた変数はそれに反しているかもしれません俺的ハンガリアン記法なので読みづらいかもしれませんが...上のコードは何度も言いますが、上のトピックから引っ張って来た物なので最新の物ではありません。最近になって変数の命名規則を統一し始めたので、ご理解下さい。ミクプラは自由にリンクできます。