- ベストアンサー
C言語での、テキストファイル読み込みについて
30行×30列の数字が記載されてテキストファイルがあり、 それをC言語で例えばA[ ][ ]といった配列に読み込みたいのですが、 どうすればよいでしょうか? fscanf関数を用いればできないことはないと思うのですが、 30個も書かなければならないのは冗長なので・・・。 なにかよい方法はありますでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>for(i=1;i<=30;i++){ >fscanf(fp, "%lf %lf・・・ %lf\n", &n1, &n2,・・・,&n30); >} 配列使って、多重ループにするのが普通…かと。 for(i=0;i<30;i++) { for(j=0;j<30;j++) { fscanf(fp, "%lf", &a[i][j]); } } って感じでしょうかね。 入力テキストの形式が異なる場合などのエラー処理は必要でしょうが…。
その他の回答 (1)
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.1
「30個も書かなければならない」がどういう方法を想定しているのかわかりかねますが, 単なるループではだめ?
質問者
補足
すいません、説明不足でした。 「30個も書かなければならない」というのは、例えば for(i=1;i<=30;i++){ fscanf(fp, "%lf %lf・・・ %lf\n", &n1, &n2,・・・,&n30); } としなければならないのかなぁ、と思ったのですが、 これをループをつかって上手いことできるでしょうか?
お礼
ありがとうございました。 言われてみればその通りですね、確かに。 ちょっとボケてました。。。 どうもありがとうございました!