|
カンマ区切りの31個のデータから1、2、6、7番目のデータを抜き出して
スペース区切りに変換して別のファイルに書き込むプログラムを
作りたいと考えています。
一文字ずつ判定し、カンマがでなければ配列にコピーするような形にしようと思ったのですが、
コンパイルさえ旨くいきません。
strcpyの使い方が間違っているのだろうとは思うのですが、
どのように対処すればよろしいでしょうか。
御教授いただければ幸いです。
下にソースを表示させていただきます。
#include<stdio.h>
#include<string.h>
void main(void){
FILE *o_fp;
FILE *w_fp;
char line[255];
char katashiki[7];
char ruibetsu[5];
char katarui[8];
char car_name[21];
char engine[21];
char gomi[255];
int i,kanma;
o_fp = fopen("test.txt","r");
while(fgets(line,256,o_fp)){
for(i=0;i>0;i++){
switch(kanma){
case 0:
if(line[i] == ','){
kanma++;
}else{
strcpy(katashiki,line[i]);
}
break;
case 1:
if(line[i] == ','){
kanma++;
}else{
strcpy(ruibetsu,line[i]);
}
break;
case 6:
if(line[i] == ','){
kanma++;
}else{
strcpy(car_name,line[i]);
}
break;
case 7:
if(line[i] == ','){
kanma++;
}else{
strcpy(engine,line[i]);
}
break;
default:
if(line[i] == ','){
kanma++;
}else{
strcpy(gomi,line[i]);
}
break;
}
}
}
w_fp = fopen("result.txt","w");
fprintf(w_fp,"%s %s %s %s %s",katashiki,ruibetsu,car_name,engine);
fclose(w_fp);
}
ご指導、よろしくお願いします。
|