C++ STL中定义了许多容器类以及一系列泛型算法,使我们可以更简洁、抽象和有效地编写程序,这样我们就不用把时间花费在那些繁琐的细节上(如内存管理),而把主要的精力放在要解决的实际问题上。针对容器这部分内容的学习,最好的方法莫过于用其来解决一个生活中实际的问题了。STL中介绍的几种容器都各有自己的特点,因此在解决实际问题的时候,应当考虑哪种容器更适合来解决这个问题。
本文基于容器设计一个文本操作类TextQuery Class,程序是Win32 Console Application。
由于时间原因,只实现了几个基本的功能:
(1) 输入某一字符串,查询其是否在文件中存在,若存在则输出行号及此行内容。
(2) 输入某一行号,查询此行的内容。
(3) 分别输入一个文件中已有的字符串和一个想要替换的字符串,完成文本替换。
(4) 输出显示当前的文本内容。
(5) 设计一个菜单的选择模式与用户进行交互。
程序仍需改进的地方有:
(1) 实现基于字符的串匹配算法,可以参考库函数strstr的实现。
(2) 增添两种可区分字母大小写的模式。
(3) 基于需求,实现更多的功能。
(4) 参考泛型算法,简化和优化代码。
PS: 程序中还存在许多需要完善的地方,如果您发现代码中存在问题,恳请您批评指正。Thx !
程序初版代码
2010-4-16
TextQuery.h
TextQuery.cpp
main.cpp
2010-4-16 wcdj