C++ 读取.csv文件内容并且储存到二维数组里面,文件内容如下类型: 10

a,b,c,d1,2,3,47,4,3,1数值是有意义的不能变为string类型,求大神解答,贴出代码最好加上注释,谢谢啊... a,b,c,d
1,2,3,4
7,4,3,1
数值是有意义的不能变为string类型,求大神解答,贴出代码最好加上注释,谢谢啊
展开
 我来答
金色潜鸟
推荐于2018-03-21 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5664万
展开全部
假定数据存放在 a.csv 中,每行 列数 都是 4 列,行尾 有 换行 符。行数不定,读到 EOF 为止。
按目前例子来看,它们是16 进制 正整数,逗号分隔,所以用有格式读:
fscanf(fp,"%x,%x,%x,%x",&x[n][0],&x[n][1],&x[n][2],&x[n][3]);
便可。完整的 c++程序如下。

#include<iostream>
#include<fstream>
#include <string>
using namespace std;
#include <stdio.h>

main(){
int x[100][4];
int j,i,n=0;
FILE *fp;
fp=fopen("a.csv","r");
while(1){
fscanf(fp,"%x,%x,%x,%x",&x[n][0],&x[n][1],&x[n][2],&x[n][3]);
if (feof(fp))break;
n++;
}
fclose(fp);
printf("n=%d\n",n);
for (j=0;j<n;j++){
for (i=0;i<4;i++) printf("%x ",x[j][i]);
printf("\n");
}
return 0;
}

输出:
n=3
a b c d
1 2 3 4
7 4 3 1
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式