C++ 搜索功能的实现解决方法

C++ 搜索功能的实现
怎样用C++或VC实现如TXT那样的搜索功能,算法怎么写?
我想的是... 
先将文档全部读到内存里,然后调用find函数, 不过我觉得这个是最笨的方法,求好点的算法!

------解决方案--------------------
读到内存时构建一个适合搜索的数据结构,哈希表,b树什么的,或用个正则表达式库
------解决方案--------------------
如果只是在TXT里找一次“子串”,那你想的方法就是最便捷的,
如果是要反复查找一些内容,那用一种有序的数据结构加载TXT就比较好了。
------解决方案--------------------
网上有记事本的源码
楼主可以参考下