C++,java,VB等程式语言中的字元串 string( 二 )

JScriptSerializableAttributeComVisibleAttribute(true)publicfinalclassStringimplementsIComparable,ICloneable,IConvertible,IComparable<String>,IEnumerable<String>,IEnumerable,IEquatable<String>XAML不适用 。C++ 中C++ 中的 string 类MFC中的CString类使用起来非常的方便好用,但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的 。也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给出操作方法 。其实,可能很多人很可能会忽略掉标準C++中string类的使用 。标準C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用 。现将具体用法的一部分罗列如下:包含要想使用标準C++中string类,必须要包含如下内容:#include <string>// <cstring>与<string.h>也可以using namespace std;//  using std::string;  using std::wstring;也可以下面你就可以使用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为起始位置的字元数组中,返回实际拷贝的数目完整特性详细讲解请看cplusplus:string的特性描述:
int capacity()const; //返回当前容量(即string中不必增加记忆体即可存放的元素个数)int max_size()const; //返回string对象中可存放的最大字元串的长度int size()const; //返回当前字元串的大小int length()const; //返回当前字元串的长度bool empty()const; //当前字元串是否为空void resize(int len,char c);//把字元串当前大小置为len,并用字元c填充不足的部分string类的输入输出操作:
string类重载运算符operator>>用于输入,同样重载运算符operator<<用于输出操作 。函式getline(istream &in,string &s);用于从输入流in中读取字元串到s中,以换行符'\n'分开 。string的赋值:
string &operator=(const string &s);//把字元串s赋给当前字元串string &assign(const char *s);//用c类型字元串s赋值string &assign(const char *s,int n);//用c字元串s开始的n个字元赋值string &assign(const string &s);//把字元串s赋给当前字元串string &assign(int n,char c);//用n个字元c赋值给当前字元串string &assign(const string &s,int start,int n);//把字元串s中从start开始的n个字元赋给当前字元string &assign(const_iterator first,const_itertor last); //把first和last叠代器之间的部分赋给字元串string的连线:
string &operator+=(const string &s);//把字元串s连线到当前字元串的结尾string &append(const char *s); //把c类型字元串s连线到当前字元串结尾string &append(const char *s,int n);//把c类型字元串s的前n个字元连线到当前字元串结尾string &append(const string &s); //同operator+=()string &append(const string &s,int pos,int n);//把字元串s中从pos开始的n个字元连线到当前字元串的结尾string &append(int n,char c); //在当前字元串结尾添加n个字元cstring &append(const_iterator first,const_iterator last);//把叠代器first和last之间的部分连线到当前字元串的结尾