需求1: 比對a、b兩個檔案,其中a檔案是b檔案的一部分,找出a、b檔案的差集。
使用hashset 分別儲存要比對的資料,然後求差集,主要**如下
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.io;
namespace comparefile
} console.
writeline
("已完成讀取full.txt");
hashset<
string
> comparelst =
newhashset
<
string
>()
;using
(streamreader sr =
newstreamreader
("compare.txt"))
} console.
writeline
("讀取compare.txt已完成");
fulllst.
exceptwith
(comparelst)
; console.
writeline
("full.txt 與 compare.txt 差集 count: "
+ fulllst.count)
;//將差集檔案匯出
using
(streamwriter sr =
newstreamwriter
("diff.txt"))
console.
writeline
("比對結果已匯出");
console.
readline()
;}}}
. ps:
最初,考慮把讀到的資料放入list中,去重使用list.constains()判斷,如果包含在不新增,否則新增的到 list中。
編譯**,發現執行的非常慢,
**邏輯比較簡單,就改用string last 變數儲存讀到的資料,本次讀到的資料儲存到last,下一次讀取時,如果與last不同在新增,並更新last值。
編譯執行很快。
結論:list.constains()在資料量很大時,檢索是否包含某個值,是很慢。
對txt檔案進行加密的小程式
include include void main printf c c1 while c1 n 在wo.txt這個檔案裡,輸完要加密的內容記得在最後加上乙個回車,表示程式完成。system pause 但是如果我們想要進一步完善程式,使程式自動開啟乙個記事本,然後讓你在記事本輸入要加密的內容,然後...
使用C 對txt檔案進行讀寫
首先要包含標頭檔案 include首先,在 檔案目錄下建立txt檔案的兩種方法 特別注意!建立的檔案會在不需要確認的情況下覆蓋目錄下同名檔案,千萬小心!main int argc,char ar 將字串寫入檔案的 rose how are you?向物件rose內寫入字串 jack not bad....
對txt檔案中讀取的字母進行排序
運用到了檔案讀取,數值交換,動態陣列,氣泡排序等知識點 include stdlib.h void swap char a,char b int main printf n 氣泡排序 for i 0 ifor j i 1 jif dataarray i dataarray j swap dataar...