用c语言读写*.csv数据(Excel的一种)结果全为0
读取到的数据全都是0,为什么呢大神们?#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *read,*write;
char filename1;
printf("请输入原文件名(请确认文件与程序在同一文件夹,输入时包含文件后缀名):");
scanf("%s",filename1);
if((read=fopen(filename1,"r"))==NULL)
{
printf("原文件打开错误!\n");
exit(1);
}
if((write=fopen("4.csv","w"))==NULL)
{
printf("生成文件打开错误!\n");
exit(1);
}
int i,j;
double m,n;
fseek(read,0L,SEEK_SET);
for(i=0;i<=9000;i++)//双循环读取*.csv(数据是n行2列的数字)表中数据 ,赋予m数组
{
for(j=0;j<=1;j++)
{
fscanf(read,"%f",&m);
fseek(read,1L,SEEK_CUR);
}
}
for(i=0;i<=9000;i++)//将第一个*.csv表格中两列数据相加输出为第一列,相减输出为第二列
{
n=m+m;
n=m-m;
fprintf(write,"%f,%f\n",n,n);
}
fclose(read);
fclose(write);
printf("完成!");
}
m是double型,
你读取时却使用的是 fscanf(read,"%f",&m); Croper 发表于 2019-4-10 19:17
m是double型,
你读取时却使用的是
单双精度不都是%f吗
代建成 发表于 2019-4-10 20:26
单双精度不都是%f吗
那是printf,scanf双精度要使用%lf
页:
[1]