Re: 請問STL的string這樣寫有錯誤嗎?

看板Programming作者 (殺人貓™)時間18年前 (2006/08/17 19:42), 編輯推噓5(502)
留言7則, 2人參與, 最新討論串2/6 (看更多)
※ 引述《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

08/17 21:30, , 1F
把 == seq.end() 換成 == string::npos 試試
08/17 21:30, 1F

08/17 22:53, , 2F
.end()不知道為什麼現在ok了 +_+
08/17 22:53, 2F

08/17 22:54, , 3F
七月果然怪事特別多 |||OTZ
08/17 22:54, 3F

08/17 23:17, , 4F
按照標準來做的話,最好是不要用 .end()
08/17 23:17, 4F

08/17 23:30, , 5F
可是std::find()在MSDN的定義來講...
08/17 23:30, 5F

08/17 23:30, , 6F
好像要用.end()才對吧? 我找一下網址
08/17 23:30, 6F

08/17 23:32, , 7F
抱歉太長 我用回文的好了
08/17 23:32, 7F
文章代碼(AID): #14v5OvFH (Programming)
文章代碼(AID): #14v5OvFH (Programming)