C++中字符数组与string的相互转换及字符串拼接(字符串知识点总结)

【字符数组转化成string类型】
Char ch[]=”ABCDEFG”
String str(ch);//也可string str=ch;
或者
Char ch[]=”ABCDEFG”
String str;
Str=ch;//在原有基础上添加可以用str+=ch;

【string类型转换为字符数组】
Char buf[10]
String str(“ABCDEFG”);
Length=str.copy(buf,9);
Buf[length]=’\0’;
或者
Char buf[10];
String str1(“ABCDEFG”);
strcpy(buf,str1.c_str());//strncpy(buf,str1.c_str(),10);

【字符串拼接】
一、string类字符串
重点:函数append的用法:
(1)向s1-string的后面加s2-string (1个参数)
s.append(s2); 或s1+=s2;
也可直接将字符串拼接:如
string s=“hello”;
s.append(" world");//“hello"后面拼接” world"
(2)(2个参数)
1.向s1-string的后面加s2-string的一部分
s1.append(s2,n); // 把字符串s2的前n个字符连接到当前字符串结尾
2.向string后面加多个字符
string s1 = "hello ";
s1.append(4,’!’); //在当前字符串结尾添加4个字符!
s1 = “hello !!!”;
(3).向string的后面加string的一部分 (3个参数)
1.string s1 = "hello ", s2 = "beautiful world ";
s1.append(s2, 11, 5); //把字符串s2中从11开始的5个字符连接到当前字符串的结尾得s1 = “hello world”;
2.string s1 = "hello ", s2 = “beautiful world”;
s1.append(s2.begin()+11, s2.end()); //把s2的迭代器begin()+11和end()之间的部分连接到当前字符串的结尾得“hello world”;
二、char数组类字符串
重点:strcat()函数,该函数接受两个字符串作为参数,该函数把第2个字符串的备份附加在第1个字符串末尾,并把拼接后形成的新字符串作为第1个字符串,第2个字符串不变。

你可能感兴趣的