C语言中,如何读取以逗号分割的文件中的数据。

来源:百度知道 编辑:UC知道 时间:2024/05/28 20:36:57
比如read.txt文件中有三行数据,每一行的数据都用逗号分割,如何将每行的数据读出到数组中,并且事前并不知道是多少个数据,如何生成动态数组?

eg:
read.txt中有如下数据:
2,1,34,2,3
1,400,5
3,5,6,7

则a[0][0] = 2, a[0][1] = 1, a[0][2] =34...
a[1][0] = 1...
谢谢楼上,请问
随机有逗号,随机行长
这种情况,能否给出源代码啊,谢谢

要有逗号,就全加逗号,
2,1,34,2,3,
1,400,5,
3,5,6,7,
读:
for (j=0;j<NR;j++)
for (i=0;i<NC;i++)
fscanf(fin,"%d,",a[j][i]);
-----------------------------
如果行尾无逗号,每行数据的个数应相等:
2,1,34,2
3,1,400,5
for (j=0;j<NR;j++){
for (i=0;i<NC-1;i++) fscanf(fin,"%d,",a[j][i]);
fscanf(fin,"%d,",a[j][NC-1]);
}
-----------------------------
随机有逗号,随机行长
2,1,34,2,3
1,400,5
3,5,6,7
用fgets读入,计算行长,按字符循环找逗号,并用空白代替逗号,再用sscanf 读入数据
----------------------------

不知道总个数。一是开大数组。

二是预读,数出个数,开数组,
rewind(fin);
再从头输入。