- ベストアンサー
ファイルへの落とし方について
先日、「教えてgoo」において「ファイルへの格納について」という題名で質問をして御助言いただいた者です。 御助言に基き以下のようなプログラムを作ってみました。 #include <stdio.h> void main(void) FILE *fpr,*fph; char r[256],h[5], fpr = fopen("origin.txt","rt"); fph = fopen("head.txt","wt"); while ( fgets(r,256,fpr) != NULL ){ h[0] = r[0] ; h[1] = r[1] ; h[2] = r[2] ; h[3] = r[3] ; h[4]=r[4]; h[5]=r[5]; h[6]=r[6]; h[7]=r[7]; h[8]=r[8]; h[9]=r[9]; h[10]=r[10]; h[24]=r[11]; h[25]=r[12]; h[26]=r[13]; h[27]=r[14]; fputs(h,fph); } fclose (fpr); fclose(fph); } というプログラムを書いてみました。当初の予定とは若干異なり、スペースを含む28桁のデータ(4桁毎に2つのスペースがあり、4桁が5つで1行)の最初の12桁と最後の4桁だけを取り出しそれらをくっつけて1つのファイルに落としたいと思っています。たとえば 6528 1285 1259 1238 1257 というデータならば 6528 1285 1257 というような形になるようにしたいのです。 このようなデータが何行も続いてます。 しかし、上のプログラムを実行すると 6528 1285 1257 1259 1238 のようになってしまいます。 h[i]で定義しなかったはずの部分のデータまでファイルに落ちてしまうのです。よろしければ、改善策を教えてください。お願いします。
- みんなの回答 (3)
- 専門家の回答
お礼
ありがとうございました。おかげ様で問題は無事に解決いたしました。また、機会がありましたら宜しくお願いします。