[問題] 標準格式化字串處理

看板C_and_CPP作者 (ㄆㄆ)時間13年前 (2012/09/25 23:33), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串1/1
請問用sscanf做標準格式化字串處理 想要從 KEY='VALUE' 這種字串中 抓出 KEY 和 VALUE 語法用 sscanf(buf, "%s=`%s'", key, val); 和直接寫for迴圈 int i = 0; for(;*buf != '='; buf++) key[i++] = *buf; key[i] = 0; i=0; buf+=2; for(;*buf != '\''; buf++) val[i++] = *buf; val[i]=0; 哪一種效率比較好呢? 我覺得是for迴圈會比較好...@@? 因為sscanf裡面 應該 大概 也是做類似的事情 而且還要弄得比較一般化 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.162.48.6 ※ 編輯: EntHeEnd 來自: 1.162.48.6 (09/25 23:34)

09/25 23:46, , 1F
scanf跟printf家族實作都很麻煩, overhead 也很重
09/25 23:46, 1F

09/25 23:47, , 2F
但除非有特殊理由不然就直接用吧 可讀性差很多
09/25 23:47, 2F

09/25 23:52, , 3F
看來performance考量的話 ... for loop還是比較好@@?
09/25 23:52, 3F

09/25 23:53, , 4F
謝謝一樓回答^^
09/25 23:53, 4F
文章代碼(AID): #1GOSxG9a (C_and_CPP)