[問題] 將檔案內大量資料做查詢分類

看板C_and_CPP (C/C++)作者 (JaJa)時間12年前 (2013/08/19 11:17), 編輯推噓4(4016)
留言20則, 7人參與, 最新討論串2/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Dev c 問題(Question): 請問為什麼這樣寫 收集進set裡面的資料還是有重複??? 是因為只有一筆收集進來set 就被印出還是哪邊有問題? 餵入的資料(Input): 讀取進來的資料 大概是這樣 上午 01:08:49.654 0.00000000 0 Write 22264617 上午 01:08:49.674 0.00000000 0 Read 22581355 上午 01:08:49.694 0.00000954 0 Read 22065871 上午 01:08:49.714 0.00000954 0 Read 22065871 上午 01:08:49.714 0.00000954 0 Read 22065871 上午 01:08:49.804 0.00001907 0 Read 22119311 上午 01:08:49.814 0.00001907 0 Write 22103225 上午 01:08:49.834 0.00001907 0 Read 22103041 上午 01:08:49.864 0.00002861 0 Write 24711839 上午 01:08:49.864 0.00002861 0 Read 24711855 上午 01:08:49.874 0.00002861 0 Read 24711855 上午 01:08:49.874 0.00002861 0 Read 24711855 上午 01:08:49.894 0.00002861 0 Write 22065871 程式碼(Code):(請善用置底文網頁, 記得排版) http://codepad.org/GHm2gL01 ->這個只有貼到我覺得有關的部分 所以不能執行 http://codepad.org/8vOtGF12 ->這有用atoi 轉換過程int 自己在完整程式上是可以跑的 但是印出來還是一樣會有重複的 @@"....? 麻煩感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.198.180.11 ※ 編輯: eltonjaja 來自: 114.198.180.11 (08/19 11:18)

08/19 11:31, , 1F
因為你放進去的是指標,他比較的是指標位址不是字串內容
08/19 11:31, 1F

08/19 11:33, , 2F
因為你用的是const char*
08/19 11:33, 2F

08/19 11:34, , 3F
建議你先用atoi把字串轉成int後,再放到std::set<int>中
08/19 11:34, 3F

08/19 11:43, , 4F
請問我這樣寫set 裡面有收集到一筆一筆進來的資料嗎?
08/19 11:43, 4F

08/19 11:44, , 5F
因為我認為會重複是因為收集一筆就被因出的關係
08/19 11:44, 5F

08/19 11:51, , 6F
http://codepad.org/8vOtGF12 可是我加入atoi 會有問題
08/19 11:51, 6F

08/19 11:53, , 7F
為什麼這樣他顯示無法轉換char to int???
08/19 11:53, 7F

08/19 11:55, , 8F
可以轉換了 因為我宣告的型態有錯 可是跑出來的int
08/19 11:55, 8F

08/19 11:55, , 9F
還是有重複的@@..."怎麼會這樣
08/19 11:55, 9F
※ 編輯: eltonjaja 來自: 114.198.180.11 (08/19 12:00)

08/19 12:02, , 10F
你的迴圈有點不知所云,也看不出malloc在幹嘛,無能為力
08/19 12:02, 10F

08/19 12:04, , 11F
請問你說的迴圈指的是?第一個迴圈試跑text進來的資料
08/19 12:04, 11F

08/19 12:56, , 12F
啊哈哈! 一樓高手! 樓主為什麼不用 string ?
08/19 12:56, 12F

08/19 13:42, , 13F
我用字串指標然後再存入宣告好的malloc這樣不算string嗎
08/19 13:42, 13F

08/19 15:58, , 14F
每個迴圈存進set的東西是22264617 類似這種嗎?
08/19 15:58, 14F

08/19 16:19, , 15F
恩恩 就是把行的資料全部存進去set集合內
08/19 16:19, 15F

08/19 19:53, , 16F
你的C 有點問題, 還是放個能跑的 code 吧. 我想不是 set 的錯
08/19 19:53, 16F

08/19 21:21, , 17F
觀察 s 的型態是 set<int> 還是 set<char*> 就能知道答案.
08/19 21:21, 17F
※ 編輯: eltonjaja 來自: 114.198.180.11 (08/20 00:26)

08/20 00:27, , 18F
感謝karaokstar大 用s.find後比較知道問題在哪 謝謝
08/20 00:27, 18F

08/20 00:46, , 19F
受不了這兩篇...
08/20 00:46, 19F

08/20 00:50, , 20F
再回自己文就刪文了
08/20 00:50, 20F
文章代碼(AID): #1I4OvOQF (C_and_CPP)
文章代碼(AID): #1I4OvOQF (C_and_CPP)