引用 | 編輯
dfgkopeeed
2011-12-05 09:12 |
樓主
▼ |
||
x0
我現在假設我文件檔(檔名01.txt)的內容有38.117.232.0/24 32.112.45.0/24 1.53.48.0/20 這三個,我已經做出能讀取檔 ..訪客只能看到部份內容,免費 加入會員 x0
|
引用 | 編輯
dfgkopeeed
2011-12-05 10:05 |
2樓
▲ ▼ |
引用 | 編輯
ebolaman
2011-12-05 13:05 |
3樓
▲ ▼ |
讀取進來的方法有很多種,第一個要作的是用 char* 陣列來儲存三個 字串
arrS[0] = "38.117.232.0/24" arrS[1] = "32.112.45.0/24" arrS[2] = "1.53.48.0/20" 可以用 scanf 用 %s 方式一次讀一串,或是全部讀進來後,用 strtok 依照空白字元 切割 接下來要做分類的動作,作分類的動作之前,必須先得知每個 arrS 斜線後面的數字是多少 也是可以用 strtok 來作切割,再來用 atoi 轉換成數字 或是用 strrchr 來搜尋斜線,同樣動作用 atoi 轉換成數字 接下來分類我提供一個很簡單的方法 : 用另外一個陣列 arrNum[] 來記錄斜線後的數字,對應到同一 Index 的 arrS 只要將 arrNum 來排序,排序過程中任何兩個 Index 的數字 swap 時候,arrS 的字串也要跟著 swap arrS[0] = "38.117.232.0/24" arrS[1] = "32.112.45.0/24" arrS[2] = "1.53.48.0/20" arrNum[0] = 24 arrNum[1] = 24 arrNum[2] = 20 排序完後資料會像這樣 : arrS[0] = "1.53.48.0/20" arrS[1] = "38.117.232.0/24" arrS[2] = "32.112.45.0/24" arrNum[0] = 20 arrNum[1] = 24 arrNum[2] = 24 再把 arrS 用迴圈從 0 ~ 2 依序印出即可 這是一個我想出來的幾個簡單的方法,要更有效率可以用 List, Tree 等資料結構來作,但是稍顯複雜 x0 |
引用 | 編輯
dfgkopeeed
2011-12-05 18:20 |
4樓
▲ ▼ |
謝謝您的回答,我現在的困境是在我很有很多筆資料(幾千筆),我在想這樣的話要怎麼去做處理
x0 |