第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > c语言fscanf读取csv文件 使用fscanf函数从.csv文件中读取int

c语言fscanf读取csv文件 使用fscanf函数从.csv文件中读取int

时间:2019-09-20 13:51:24

相关推荐

c语言fscanf读取csv文件 使用fscanf函数从.csv文件中读取int

我试图从.csv文件中读取一些整数。我不知道到底有多少整数是每行的文件中,我只知道,所有的csv文件是一样的东西:使用fscanf函数从.csv文件中读取int

1,2,3,9,6,3,4

4,5,6,7

2,3,8,9,4

我需要存储阵列中的每一行,但我不”我知道如何从一个文件中读取整数值而不知道该行中有多少个整数。 在我的程序中,我必须检查每行是否只有2个元素,以及第二个元素是否等于我从主接收到的sel值。

void fun1 (sel)

{

int aux[3];

int res;

FILE* fp;

fd=fopen("c:\\myfile.csv","r");

if(fd==NULL)

{

printf("Error");

exit(-1);

}

while(!feof(fd))

{

res=fscanf(fd,"%d,%d,%d",&aux[0],&aux[1],&aux[2]);

if(res==2&&aux[1]==sel)

{

puts("Value ok");

}

}

}

我试图把3 %d在fscanf因为如果行包含超过2个元素我敢肯定,我不需要这条线,但如果该行包含超过3种元素的保留节目没有做任何事情就跑步

我认为这个问题的出现是由于fscanf功能停止时达到'\n',但如何解决,如果我不知道有多少元素包含.csv文件的每一行代码?

-02-09

Marco_D

+0

尝试使用fgetc一次读取一个字符。当行有6或7个值时,你的计划是什么? –

+0

考虑使用['fgets'](/man/3/fgets)来阅读整行。然后使用['strtok'](/man/3/strtok)+ ['strtol'](/man/3/strtol)或[' sscanf'](/man/3/sscanf)解析出数字。 –

+0

您存储整数的数组也需要a)足够大以保存您愿意支持的线上的大多数整数,或者b)动态分配,例如,与'malloc'。 –

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。