1. 标准 C++中的 string 类的用法总结
2. 相信使用过 MFC 编程的朋友对 CString 这个类的印象应该非常深刻吧?的确,MFC 中的
CString 类使用起来真的非常的方便好用。但是如果离开了 MFC 框架,还有没有这样使用起来
非常方便的类呢?答案是肯定的。也许有人会说,即使不用 MFC 框架,也可以想办法使用 MFC
中的 API,具体的操作方法在本文最后给出操作方法。其实,可能很多人很可能会忽略掉标准
C++中 string 类的使用。标准 C++中提供的 string 类得功能也是非常强大的,一般都能满足
我们开发项目时使用。现将具体用法的一部分罗列如下,只起一个抛砖引玉的作用吧,好了,废
话少说,直接进入正题吧!
3. 要想使用标准 C++中 string 类,必须要包含
4. #include <string>// 注意是<string>,不是<string.h>,带.h 的是 C 语言中的头文件
5. using std::string;
6. using std::wstring;
7. 或
8. using namespace std;
9. 下面你就可以使用 string/wstring 了,它们两分别对应着 char 和 wchar_t。
10.
11. string 和 wstring 的用法是一样的,以下只用 string 作介绍:
12.
13.
14. string 类的构造函数:
15.
16. string(const char *s); //用 c 字符串 s 初始化
17. string(int n,char c); //用 n 个字符 c 初始化
18. 此外,string 类还支持默认构造函数和复制构造函数,如 string s1;string s2="hello";
都是正确的写法。当构造的 string 太长而无法表达时会抛出 length_error 异常 ;
19.
20.
21. string 类的字符操作:
22. const char &operator[](int n)const;
23. const char &at(int n)const;
24. char &operator[](int n);
25. char &at(int n);
26. operator[]和 at()均返回当前字符串中第 n 个字符的位置,但 at 函数提供范围检查,当越界
时会抛出 out_of_range 异常,下标运算符[]不提供检查访问。
27. const char *data()const;//返回一个非 null 终止的 c 字符数组
28. const char *c_str()const;//返回一个以 null 终止的 c 字符串
29. int copy(char *s, int n, int pos = 0) const;//把当前串中以 pos 开始的 n 个字符拷
贝到以 s 为起始位置的字符数组中,返回实际拷贝的数目
30.
31.
32. string 的特性描述:
33. int capacity()const; //返回当前容量(即 string 中不必增加内存即可存放的元素个
数)