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