« KOOL - 余裕 | メイン | 珍奇!消える値の謎 »

2005年02月07日

ファイル操作に敗北

 10111111111111111111
 10100000000000000001
 10100000000011111101
 10111111111010000001

こんな感じで20文字*20行のテキストファイルを読み込ませて、
同じ形の二次元配列に一文字ずつ入れて行きたいだけなのに、
完全に全く少しもうまく行きません。

読み込み

while ((buff = fgetc(frp)) != EOF){
 //オーバーフロー対策
  if(j>1000){ perror("無駄に長いファイルを読み込ませるのはやめてください\n"); exit(1); }

 printf("%c",buff);
 d[i++]=buff;
 j++;
}

配列に格納(&試しに出力)

for(i=0;i<20;i++){
 for(j=0;j<20;j++){
  if(d[k]=='\n'){	printf("\n");k++; continue; }
  field[i][j] = d[k++];
  printf("%c",field[i][j]);
 }
}

ファイルから読み込む時に直接二次元配列に入れようとするとエラーが出ます。
これも理由が不明。
仕方がないので配列に入れておいて、後から二次元に展開。
しかし、これもうまく行きません。
頭に血がのぼってきて、このままではPCを破壊しかねないので一旦休憩。
ああ、腹が立つ。どこが悪いんだろう……。
そもそも二次元配列に直接入れる事ができないのが不可解。
できないはずがないので、どこかで間違えている。
キーポイントは多分改行とEOFの扱い。

むしろ、filecloseでエラーが出るとかほんとお手上げ。

投稿者 miff : 2005年02月07日 19:02

コメント



XREAAD