我试图在c中读取CSV文件。CSV文件包含一列和1024行。CSV文件中只包含十进制数字。到目前为止,我已经有了这段代码,但是输出和CSV文件中的数字不匹配。CSV文件名为file. CSV
输入图片描述
输入图片描述
int main(void)
{
FILE *stream;
errno_t err;
err = fopen_s(&stream, "file.csv", "r");
if (stream == NULL) {
printf("n file opening failed ");
return -1;
}
double values[1024];
int count;
for (count = 0; count < 1024; count++) {
double u = fscanf_s(stream, "%d", &values[count]);
printf("%dn", u);
}
return(0);
}
使用%lg
扫描和打印double
对象,而不是%d
。
fscanf_s
的返回类型是int
,不是double
。测试它,看看是否分配了所需的项目数量(在您的例子中是一个),如果没有,打印一条错误消息并退出程序。