置頂
如何讀取逗號分隔的文字檔
大家好~
小花ㄦ想請問大家
我想要讀取一個txt檔,不同的資料用逗號隔開
內容如下
S1,Sam,20,London
S2,Jay,30,Paris
S3,Kate,20,London
S4,May,10,Taipei
要把每筆資料指定到不同的變數中
可是我用下列程式片段讀取
第一列的資料會全部跑到S[i].S裡面去,之後就開始出現亂碼
i=0;
while(!feof(fptr_s))
{
fscanf(fptr_s ,"%s,%s,%d,%s\n", S[i].S, S[i].SNAME, &S[i].STATUS, S[i].CITY)
;
i++;
}
fclose(fptr_s);
但如果把txt檔裡面的逗號改成空格
fscanf改成:
fscanf(fptr_s ,"%s %s %d %s", S[i].S, S[i].SNAME, &S[i].STATUS, S[i].CITY);
資料就會存到對應的變數中
所以我覺得是逗號處理的問題
請問要怎麼修改呢?
up vote
0
改成fscanf(fptr_s,"%[^,],%[^,],%d,%s\n",S[i].S,...);
%[^,]是指只讀到','之前 詳細可以查sscanf、regex的用法
會員登入
(先登入會員才能回覆留言喔!)