string str:生成空字符串
string s(str):生成字符串为str的复制品
string s(str, strbegin,strlen):将字符串str中从下标strbegin开始、长度为strlen的部分作为字符串初值
string s(cstr, char_len):以C_string类型cstr的前char_len个字符串作为字符串s的初值
string s(num ,c):生成num个c字符的字符串
string s(str, stridx):将字符串str中从下标stridx开始到字符串结束的位置作为字符串初值
eg:
string str1; //生成空字符串
string str2(“123456789”); //生成"123456789"的复制品
string str3(“12345”, 0, 3);//结果为"123"
string str4(“012345”, 5); //结果为"01234"
string str5(5, ‘1’); //结果为"11111"
string str6(str2, 2); //结果为"3456789"
#include
#include
using namespace std;
void test1()
{
string str1; //生成空字符串
string str2(“123456789”); //生成"123456789"的复制品
string str3(“12345”, 0, 3);//结果为"123"
string str4(“0123456”, 5); //结果为"01234"
string str5(5, ‘1’); //结果为"11111"
string str6(str2, 2); //结果为"3456789"
cout<<“str2:”<<str2<<endl;
cout<<“str3:”<<str3<<endl;
cout<<“str4:”<<str4<<endl;
cout<<“str5:”<<str5<<endl;
cout<<“str6:”<<str6<<endl;
}
int main()
{
test1();
return 0;
}

2.string的大小和容量

  1. size()和length():返回string对象的字符个数,他们执行效果相同。//这个常用;
  2. max_size():返回string对象最多包含的字符数,超出会抛出length_error异常
  3. capacity():重新分配内存之前,string对象能包含的最大字符数
    void test2()
    {
    string s(“1234567”);
    cout << “size=” << s.size() << endl;
    cout << “length=” << s.length() << endl;
    cout << “max_size=” << s.max_size() << endl;
    cout << “capacity=” << s.capacity() << endl;
    }
    3.string的插入:push_back() 和 insert()
    void test4()
    {
    string s1;
    // 尾插一个字符
    s1.push_back(‘a’);
    s1.push_back(‘b’);
    s1.push_back(‘c’);
    cout<<“s1:”<<s1<<endl; // s1:abc
    // insert(pos,char):在制定的位置pos前插入字符char
    s1.insert(s1.begin(),‘1’);
    cout<<“s1:”<<s1<<endl; // s1:1abc
    }