ファイルへの落とし方について
先日、「教えて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]で定義しなかったはずの部分のデータまでファイルに落ちてしまうのです。よろしければ、改善策を教えてください。お願いします。