作者Killercat (殺人貓™)
站內Programming
標題Re: 請問STL的string這樣寫有錯誤嗎?
時間Thu Aug 17 19:43:31 2006
※ 引述《Killercat (殺人貓™)》之銘言:
: 其中in1, seq都是string
: for(int i = 0; i < in1.length(); ++i)
: if((find(seq.begin(), seq.end(), in1[i])) == seq.end())
: seq+=in1[i];
: 希望有的行為 : 逐個檢查in1各個字元有沒有在seq出現過, 沒有的話seq+=in1[i]
: 不過我發現那行if死都不給true... +_+
: 不管是seq裡面含不含有in1[i], if的敘述行一值都是false的狀態
: 請問問題出在哪?
VS2003.net的VC7.net一直會產生seq只有in1[0]的問題
mingw則是完全沒有問題的pass過去
這到底是怎麼回是阿 <O>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.163.161.9
推 b6s:把 == seq.end() 換成 == string::npos 試試 59.105.131.104 08/17 21:30
推 Killercat:.end()不知道為什麼現在ok了 +_+ 218.163.161.9 08/17 22:53
→ Killercat:七月果然怪事特別多 |||OTZ 218.163.161.9 08/17 22:54
推 b6s:按照標準來做的話,最好是不要用 .end() 59.105.131.104 08/17 23:17
推 Killercat:可是std::find()在MSDN的定義來講... 218.163.161.9 08/17 23:30
→ Killercat:好像要用.end()才對吧? 我找一下網址 218.163.161.9 08/17 23:30
推 Killercat:抱歉太長 我用回文的好了 218.163.161.9 08/17 23:32