64,646
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <fstream>
#include <string>
#include <set>
#include <vector>
#include <map>
#include <sstream>
#include <algorithm>
using namespace std;
class csvdata
{
public:
string word;
long double value;
};
void main()
{
vector<csvdata> incsv;
csvdata intp;
FILE *fp;
fp=fopen("./data.csv","r");
while(!feof(fp))
{
fscanf(fp,"%s,%Lf",&intp.word,&intp.value);
incsv.push_back(intp);
if(feof(fp))
{
break;
}
}
fclose(fp);
for(int i=0;i<10;i++)
{
cout<<incsv[i].word<<" "<<incsv[i].value<<endl;
}
system("pause");
}
for(int i=0;i<10;i++)
{
cout<<incsv[i].word;
}
我明明输出后面没有加endl呀。。。
fscanf(fp, " %[^,],%Lf",buf,&intp.value);
%[^,] 前面加一个空格,表示忽略掉前面的空白字符。