[問題] 如何判斷指令 然後取數值?

作者: timmy999 (憤怒a阿宅)   2019-03-16 19:38:55
題目是輸入一個指令 然後執行
例如說 你打sum 他就把全部的數列加起來
你打sum 1 他就把第一行數列的值加起來
一開始卡在用字串輸入 不知道怎麼判斷 那個'1'也不知道怎麼用
我google後 找到有strtok這個方法 可以把字串分割
再把那個'1' 用atoi 轉為int用
然後好像sscanf也可以
那請問還有其他方法嗎?
作者: dododavid006 (朔雪)   2019-03-16 22:10:00
如果格式固定比如一個指令幾個數字 那 sscanf 比較好用 如果不固定就用 strtok 吧 再來就是自己做分割
作者: loveme00835 (髮箍)   2019-03-17 00:56:00
可以參考 strtol() https://bit.ly/2Ho6Nl9
作者: Schottky (順風相送)   2019-03-17 01:15:00
覺得fgets和strtok不夠高級嗎?來這個lex+yacc拿去用我是覺得 strtok 很夠用了啦
作者: IhateOGC (我討厭)   2019-03-17 01:30:00
sscanf全部字串後,再用strtok分析指令不過我老實和你講,會考stdio的職缺通常很雷現在都是資料庫或是表單item點選了字串實作問題百百種勞力活你學不到啥不如去學習一下Regex規則,例如密碼命名規則
作者: sarafciel (Cattuz)   2019-03-18 14:08:00
其實程度夠的話切字串這種東西我會建議自己刻XD不過大一計概的話就乖乖用strtok吧 這東西是一個蠻好的學習對象 從負面意義上來說(逃)
作者: MOONRAKER (㊣牛鶴鰻毛人)   2019-03-18 14:48:00
大一計概就知道有兩種就可以了 你只是在入門不用想一次這個那個都學完 沒有一步到位 如果有人說可以那是外行

Links booklink

Contact Us: admin [ a t ] ucptt.com