実現したいこと
行数が未知数のデータを読み込んで、csvファイルに書き出したいのですが全く違う値を書き出してしまいます。なにかアドバイスをお願いします。
読み込みたいデータ
1, 3.88000000e-003, -9.50325916e-019, 1.40000000e-002 2, 3.88000000e-003, -9.50325916e-019, 1.50000000e-002 3, -3.88000000e-003, 4.75162958e-019, 1.50000000e-002 4, -3.88000000e-003, 4.75162958e-019, 1.40000000e-002 5, 3.22000000e-003, -7.88672539e-019, 1.50000000e-002 ・・・
該当のソースコード
c
1#include<stdio.h> 2#include<stdlib.h> 3 4int main(void){ 5 FILE *fp1; 6 FILE *fp2; 7 int f1; 8 double f2,f3,f4; 9 int c; 10 int line = 0; 11 int i; 12 13 fp1=fopen("test.txt","r"); 14 fp2=fopen("ndData.csv","w"); 15 16 if(fp1 == NULL){ 17 printf("Your ndData file can't be found!\n"); 18 return (-1); 19 } 20 21 while((c = fgetc(fp1)) != EOF){ 22 if(c == '\n') line++; 23 } 24 printf("%d\n",line); 25 26 for(i=1;i<=line;i++){ 27 fscanf(fp1,"%d,%le,%le,%le",&f1,&f2,&f3,&f4); 28 } 29 30 fprintf(fp2,"Total node numbers:%d\n",line); 31 for(i=1;i<=line;i++){ 32 fprintf(fp2,"%4d,%12.5e,%12.5e,%12.5e\n",f1,f2,f3,f4); 33 } 34 35 fclose(fp1); 36 fclose(fp2); 37 38 return (0); 39} 40
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/27 05:35