c言語でのファイルの入出力の練習のために、
下のような2048行X1列の数値が書かれているcsvファイルを読み込み、
0.08
2.7809
33.07
・
・
・
8.30
それを新たなcsvファイルにそのまま書き出すプログラムを作ってみました。
出力されたcsvファイルには同じ数字が書かれているはずですが、
なぜか全て0になってしまいます。
0.000000
0.000000
・
・
・
0.000000
上手く数値を読み込むにはどうしたらいいでしょうか?教えてください。
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define A 2048
double x[A];
char st1[100];
char st2[]=".csv";
char str[100];
char str2[100];
FILE *IN1,*OUT;
int main(){
printf("拡張子の前までのファイル名を入力してください\n");
printf("例(neko.csv→neko)\n");
gets(st1);
printf("読みこんだんよ\n");
sprintf_s(str,"%s%s",st1,st2);
IN1=fopen(str,"r");
for(unsigned int i=0;i<A;i++){
fscanf(IN1,"%f",&x[i]);
}
sprintf_s(str,"noudo_%s%s",st1,st2);
OUT=fopen(str,"w");
for(unsigned int i=0;i<A;i++){
fprintf(OUT,"%f\n",x[i]);
}
fclose(IN1);
fclose(OUT);
printf("終了");
getchar();
return 0;
}