c++两文本文件删除重复字段

现在有两个文本文件:一个源文件,一个目标文件。每个文件大概有2w+行的数据,一行是一个字段。
现在想要写一个小程序,将源文件中的在目标文件中已存在的字段删除。如果全文读取遍历比较的话计算量有些大。不知道该用什么方式实现要好些。
求大神们帮帮忙啊。

把目标文件全部读入内存,放入hashmap之类的变量。
然后从源文件中读入一行,去hashmap里判断是否存在,是就删除。
直到源文件读完。

全部读取到内存,排序比较。2万多其实没多少,相对于现在cpu内存和cpu来说。