STL之string

时间:2025-04-09 10:06:31

string构造函数,很多重载函数;

 #include <iostream>
#include <string> using namespace std;
int main()
{
string s1;
cout << s1 << endl; string s2(, 'a');
cout << s2 << endl; string s3(s2); //将s2的字符拷贝到s3中,之后两个完全无关
cout << s3 << endl; string s4(s3.begin(), s3.begin()+s3.size()/);
cout << s4 << endl; char *cp = "hi"; //c语言中的字符串,存在一个看不见的'\0';
char c_array[] ="world!!!!"; //c语言中的字符串,存在一个看不见的'\0';
char no_null[] = {'H', 'i'}; //字符数组,而非字符串 //{'H', 'i', '\0'}; string ss1(cp);
cout << ss1.size() << ss1 << endl; //ss1.size()=2 ,ss1=hi,没有\0字符:0 string ss2(c_array, );
cout << ss2.size() << ss2 << endl; string ss3(c_array+, );
cout << ss3.size() << ss3 << endl; //string ss4(no_null); //ERROR; 默认全部取出,由于没有\0,没办法截至
string ss4(no_null, ); //OK;
cout << ss4.size() << ss4 << endl;
cout << ss4.size() << ss4 << endl;
  //ss2 = "world"
string ss5(ss2, ); //从ss2的第2个位置开始到结束复制给ss5;
cout << ss5.size() << ss5 << endl; string ss6(ss2, , ); //从ss2的第2个位置开始,最多1个字符结束复制给ss5;
cout << ss6.size() << ss6 << endl; string ss7(ss2, , ); //从ss2的第0个位置开始,最多8个字符,结束复制给ss5;
cout << ss7.size() << ss7 << endl; return ;
}