[问题] 如何判断指令 然后取数值?

楼主: 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