我正在尝试使用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

09-10 01:40
查看更多