我需要读取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