[問題] 新手發問--關於C語言如何解讀字串?

作者: wandering25 (晃晃)   2014-10-21 23:22:07
小弟是從網路上課程自學C語言一個月的新手
學到字串的地方有個小疑惑
就是要如何解讀所讀入的字串?
例如輸入"one" 就執行XXX
輸入"two" 就執行XXX
不能直接用
if (string == "one ") 這樣嗎?
我google後可以用strcspn
但總覺得應該有更簡單直覺的方法?
所以上來請教
謝謝
作者: Feis (永遠睡不著 @@)   2014-10-21 23:23:00
用 C++
作者: diabloevagto (wi)   2014-10-21 23:30:00
memcmp
作者: hbzncu (陽光棕梠)   2014-10-21 23:59:00
可以用enum的方式去做!
作者: flydragon198 (Richard)   2014-10-22 00:53:00
作者: MOONRAKER (㊣牛鶴鰻毛人)   2014-10-22 01:05:00
你在用C事情就不會都如你想的這麼簡單。
作者: cjcat2266 (CJ Cat)   2014-10-22 06:39:00
方法很多種,但是絕對不是 if (string == "one")想想看變數的type就可以明白了,type是char *string指到的是使用者輸入的buffer,"one"則是指向constant string pool裡面的位址,同樣的你也不能用這個方法來比較兩個字串,就算兩者指到的char陣列的字串值一樣,但是記憶體位址不同,等號就不會成立
作者: jimmg35 (吉米?)   2014-10-22 12:35:00
if應該也可以吧
作者: jammy50605 (小刀)   2014-10-23 12:13:00
strcmp好用
作者: loveflames (咕啾咕啾魔法陣)   2014-10-23 14:36:00
不要用memcmp比字串,否則寫socket的時候...

Links booklink

Contact Us: admin [ a t ] ucptt.com