c++读取csv文件到vector的类中
我有如下csv数据20130104,91501000,2564.6,456,2563.6,8,2563.8,120130104,91501500,2563.2,166,2...
我有如下csv数据
20130104,91501000,2564.6,456,2563.6,8,2563.8,1
20130104,91501500,2563.2,166,2562.6,32,2563.2,36
20130104,91502000,2562.4,232,2562,20,2562.4,23
.....共若干行,8列
希望用c++读取文件放在内存中成为vector<shuju>这种结构体
class shuju{
int a;
int b;
double c;
int d;
double e;
int f;
double g;
int i;
} A;
调用的时候用A[1].a就能找到第一行第一列的数据
请问应该怎样实现这些功能? 展开
20130104,91501000,2564.6,456,2563.6,8,2563.8,1
20130104,91501500,2563.2,166,2562.6,32,2563.2,36
20130104,91502000,2562.4,232,2562,20,2562.4,23
.....共若干行,8列
希望用c++读取文件放在内存中成为vector<shuju>这种结构体
class shuju{
int a;
int b;
double c;
int d;
double e;
int f;
double g;
int i;
} A;
调用的时候用A[1].a就能找到第一行第一列的数据
请问应该怎样实现这些功能? 展开
1个回答
展开全部
要是做出来,你一定要采纳,我就开工
你上面是用class 应该使用struct吧
#include<iostream>
#include<vector>
using namespace std;
typedef struct shuju{
int a;
int b;
double c;
int d;
double e;
int f;
double g;
int i;
}shuju;
void main()
{
vector<shuju> A;
shuju B;
FILE*fp=fopen("f:/test.txt","r");
while(!feof(fp))
{
fscanf(fp,"%d,%d,%lf,%d,%lf,%d,%lf,%d\n",&B.a,&B.b,&B.c,&B.d,&B.e,&B.f,&B.g,&B.i);
A.push_back(B);
}
for(int i=0;i<A.size();i++)
printf("%d,%d,%lf,%d,%lf,%d,%lf,%d\n",A[i].a,A[i].b,A[i].c,A[i].d,A[i].e,A[i].f,A[i].g,A[i].i);
}
更多追问追答
追问
十分感谢你的回答,不过还有两个问题。1.我要读取的文件是csv文件,并非txt文件。2.我按你写的代码编译了一下读取如你所示的txt文件,依然无法通过编译,提示
“ConsoleApplication2.exe”(Win32): 已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。
还有很多类似的提示,这里超出最大字符了,再次感谢你的回答!
追答
改为 .csv 就可以运行,我用txt只是为了,好看,你工程是不是建错了? 你以前运行过c++程序吗
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询