• ベストアンサー

C言語での、テキストファイル読み込みについて

30行×30列の数字が記載されてテキストファイルがあり、 それをC言語で例えばA[ ][ ]といった配列に読み込みたいのですが、 どうすればよいでしょうか? fscanf関数を用いればできないことはないと思うのですが、 30個も書かなければならないのは冗長なので・・・。 なにかよい方法はありますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.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]);  } } って感じでしょうかね。 入力テキストの形式が異なる場合などのエラー処理は必要でしょうが…。

ramusi
質問者

お礼

ありがとうございました。 言われてみればその通りですね、確かに。 ちょっとボケてました。。。 どうもありがとうございました!

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「30個も書かなければならない」がどういう方法を想定しているのかわかりかねますが, 単なるループではだめ?

ramusi
質問者

補足

すいません、説明不足でした。 「30個も書かなければならない」というのは、例えば for(i=1;i<=30;i++){ fscanf(fp, "%lf %lf・・・ %lf\n", &n1, &n2,・・・,&n30); } としなければならないのかなぁ、と思ったのですが、 これをループをつかって上手いことできるでしょうか?

関連するQ&A