[问题] 新手发问--关于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