我需要讀取CSV表並將其值用於函數,但scanf()
函數只讀取文件的第一列。我還需要代碼能夠讀取多個文件,而不允許指定文件的名稱。這樣做的正確方法是什麼?C:讀取多個CSV文件
例子:
CSV文件行:114 -0.44 -0.15385 -0.76293
代碼輸出:114 0.00 0.00 0.00
我的代碼:
#include <stdio.h>
#include <tgmath.h>
#include <stdlib.h>
int main(){
long sec;
long wait = 0;
int fall = 0;
double x;
double y;
double z;
double mag = 0.0;
long i =0;
while(1){
scanf("%ld %lf %lf %lf", &sec, &x, &y, &z);
mag = sqrt(pow(x,2)+pow(y,2)+pow(z,2));
break;
}
printf("%ld %lf %lf %lf\n", sec, x, y, z);
output1(wait);
output2(fall);
return 0;
}
https://ideone.com/wjutAL只是試過你的代碼,它按預期工作。 –
請給出一個真實的[mcve](這裏是output1和output2)以及實際的輸入和輸出。正如Ajay所說,這段代碼可以讀取和打印示例輸入! –
不要太挑剔,但CSV意味着逗號分隔值,您的示例代碼不會用逗號分隔值,而是用空格分隔值。 – Neil