[問題] 有關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