c++ string基础用法

创建、初始化string

// string s();  
//生成一个空字符串s
string s1();  // s1 = ""

//string s(str) 
//将str字符串作为s的初值
string s2("Hello");  // s2 = "Hello"

//string s(num,c);
//生成一个字符串,包含num个c字符
string s3(4, 'K');  // s3 = "KKKK"

//strings(str,stridx,strlen); 
//将字符串str内“始于stridx且长度顶多strlen”的部分作为字符串的初值
string s4("12345", 1, 3); //s4 = "234",即 "12345" 的从下标 1 开始,长度为 3 的子串

求string长度

  • size 得到字符串的大小
  • length 和size函数功能相同
string s("Hello World!");
int slen = s.size();	//slen = 12
int slen2 = s.length();	//slen2 = 12 与size()一样

String操作

  • Swap() 交换两个字符串的内容
  • append( ) 字符串的连接
  • insert () 插入字符
  • erase() 删除字符
  • clear () 删除全部字符
  • replace() 替换字符
  • max_size () 返回字符的最大可能个数
  • empty () 判断字符串是否为空
// swap() 交换两个字符串的内容
string s1("abcd”), s2("dcba");
s1.swap(s2);  // s1 = "dcba",s2 = "abcd"

// append( ) 字符串的连接
string s3("abc"), s4("efg");
s3.append(s4);  // s3 = "abcefg"
s3.append(s4, 1, 2);  // s3 = "abcefgfg"
s3.append(3, 'K');  // s3 = "abcefgfgKKK"
s3.append("ABCDE", 2, 3);  // s3 = "abcefgfgKKKCDE",添加 "ABCDE" 的子串(2, 3)

// insert ()  插入字符
string s1("abcd”), s2("666");
s1.insert(2, "123");  //在下标 2 处插入字符串"123",s1 = "ab123cd"
s1.insert(3, s2);  //在下标 3 处插入 s2 , s1 = "abc666cd"
s1.insert(3, 5, 'X');  //在下标 3 处插入 5 个 'X',s1 = "abcXXXXXd"

//erase() 删除字符
string s1("abcd eeee");
s1.erase(1, 3);  //删除子串(1, 3),此后 s1 = "a eeee"
s1.erase(3);  //删除下标3及其后面的所有字符,此后 s1 = "a e"

// replace() 替换字符
s1.replace(int a, int b, char *s, int n);//删除从a开始的b个字符,然后在a处插入字符串s的前n个字符
s1.replace(int a, int b, string &s);//删除从a开始的b个字符,然后在a处插入串s
s1.replace(int a, int b, string &s, int pos, int n);//删除从a开始的b个字符,然后在a处插入串s中从pos开始的n个字符
s1.replace(int a, int b, int n, char c);//删除从a开始的b个字符,然后在a处插入n个字符c

你可能感兴趣的:(c++,String,c++)