string详解
string不是基本数据类型,是C++中对char封装成的类,所以C语言中没有string。
String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。
头文件: #include<string>
构造函数
string s1(); //s1为空
string s2("hello");
string s3(4,'w'); //s3="wwww";
string s4("12345",1,3); //s4="234";
//不能直接string s('w');
string初始化
//拷贝赋值
string s1;
s1 = "Hello"; // s1 = "Hello"
s2 = 'K'; // s2 = "K”
//利用assign函数
string s1("12345"), s2;
s3.assign(s1); // s3 = s1
s2.assign(s1, 1, 2); // s2 = "23",即 s1 的子串(1, 2)
s2.assign(4, 'K'); // s2 = "KKKK"
s2.assign("abcde", 2, 3); // s2 = "cde",即 "abcde" 的子串(2, 3)
//利用+
string s;
s+=a[i];
//利用substr函数
string s1,s2;
s1="hello";
s2=s1.substr(0,3); //s2="hel";
string 函数用法
append()函数
除了可以使用+
和+=
运算符对 string 对象执行字符串的连接操作外,string 类还有 append 成员函数,可以用来向字符串后面添加内容。append 成员函数返回对象自身的引用。
string s1("123"), s2("abc"); //以下操作为平行操作
s1.append(s2); // s1 = "123abc"
s1.append(s2, 1, 2); // s1 = "123bc"
s1.append(3, 'K'); // s1 = "123KKK"
s1.append("ABCDE", 2, 3); // s1 = "123CDE",添加 "ABCDE" 的子串(2, 3)