我正在尝试使用C将字符串数据文件存储到多维数组中。我的示例数据如下所示。
char *array[6][10];
53,v42,p11,51097,310780,ok
56,v45,p11,260,1925,ok
68,v42,p11,51282,278770,ok
77,v50,p11,46903,281485,ok
82,v46,p12,475,2600,ok
84,v48,p12,433,3395,ok
96,v49,p14,212,1545,ok
163,v50,p20,373819,1006375,ok
204,v50,p26,36917,117195,ok
241,v70,p33,21777,91360,ok
最佳答案
我希望这个示例程序可以帮助您解决问题。我用了结构和sscanf。这是解决此问题的好方法。
#include <stdio.h>
struct data
{
char date[100];
char state[100];
char profit[100];
char revenue[100];
};
int main()
{
char line[4096] = {'\0'};
char t1[100], t2[100], t3[100], t4[100];
struct data d[2];
int i = 0;
while(fgets(line, 4096, stdin) != NULL) {
sscanf(line, "%[^','],%[^','],%[^','],%s", &t1, &t2, &t3, &t4);
strcpy(d[i].date, t1);
strcpy(d[i].state, t2);
strcpy(d[i].profit, t3);
strcpy(d[i++].revenue, t4);
}
i = 0;
while(i<2){
printf("%s %s %s %s\n", d[i].date, d[i].state, d[i].profit, d[i].revenue);
i++;
}
}
$> a./exe
$>猫文件
12/2/2012,TN,1200,14000
12/3/2012,KA,2333554,424