C风格字符串
从C语言开始,就已经实现了对字符串的支持。为了处理C风格字符串,C语言标准库提供了一组函数,它们被定义在cstring.h头文件中:
strlen(p)计算字符串长度
strcmp(p1,p2)字符串比较
strcat(p1,p2)字符串连接
strcpy(p1,p2)字符串比较
从功能上来讲,C风格字符串完全可以满足开发的需求。但是严格地讲,C风格字符串并不是一种数据类型,而是以结尾的字符数组,所以会带来一些不便甚至危险:
1.保存字符串的内存空间需要程序员管理,容易出错。
2.几乎所有的处理都需要理解并正确运用结尾这件事。
如果你是一个老手,字符串处理可能是你的技能之一,但是如果你是一个新手,可能遇到的都是坑。
C++中的字符串
为了解决上面的问题,C++标准库提供了string类。使用string类,程序员首先(大部分场合)可以不必考虑字符串的内存分配问题,再就是可以使用更加直观地方式来操作字符串,例如:
使用=运算符实现字符串拷贝
使用+或+=运算符实现字符串连接
使用[]从字符串取得指定的字符
使用比较运算符进行字符串比较
当然string类的功能远不止这些,具体可以参考下面的链接.