从csv文件中读取列

时间:2015-01-14 20:13:44

标签: c++ csv

我试图编辑一些从txt文件中读取列的代码,以便能够从csv文件读入。我遇到的主要问题是txt文件中的数据存储为:1 2 3 4.在csv文件中,数据看起来像:“1”,“2”,“3”,“4”。我将在下面包含我当前的代码(适用于txt)。编辑我当前的代码或重新开始是否更容易?

ifstream fin;
fin.open("filepath");
char temp[200];
while(!fin.eof())
   {
    fin.getline(temp,200);
    if(sscanf(temp,"%f %f %f %*f\n",&var1,&var2,&var3)!=3)
        {
        continue;
        }
   printf("%f %f %f \n",var1,var2,var3);
   }

1 个答案:

答案 0 :(得分:0)

不,您不必更改代码。将scanf功能更改为

    if(sscanf(temp, "\"%f\", \"%f\", \"%f\", \"%*f\"\n",,&var1,&var2,&var3)!=3)

匹配新格式,它应该有效。