[问题] 有关C语言读档案与切割

楼主: roadeat (www)   2013-07-28 01:06:12
各位前辈您好:
  一个读取csv档的小程式,将档案中的字串与数字分开,数字的部分OK,但字串的部分
一直被最后一笔覆蓋,苦找不出原因,烦请解惑。
读取档名:test.csv
内容物:
AA,1
BB,2
CC,3
C部分程式:
typedef struct{
char *name;//存字串
float x;//存数字
}node;
node all[10];
main(){
FILE *fp;
char read[15];
char *token;
fp=fopen("test.csv","r");
int count=0,nc=0;//count用来判断字串或数字(0是字串,1是数字);
//nc用来依序存all[]
while (!feof(fp)){
fscanf(fp,"%s",&read);
token = strtok(read, ",");
while( token != NULL ){
if (count++==0) all[nc].name=token;//count=0 存字串name
//count=1 存数字x
else all[nc].x=atof(token);
token = strtok(NULL, ",");
}
count=0;
nc++;
}
后面打印all[].x都是正确的,但是all[].name的部分都是最后一笔,试了很久
找不到适当的方法改善,不知是否有人可解惑,感谢。

Links booklink

Contact Us: admin [ a t ] ucptt.com