string 快速使用,难点解决

来源:互联网 发布:简述网络舆情的特点 编辑:程序博客网 时间:2024/04/28 19:32

 //构造函数使用 列表
 /*
 string(char* pStr);
 string(char* pStr,size_t length);
 string(string s, begin_pos, length);
 string(char* pbegin_pos, char* pend_pos);
 string( length,char c);
 string();
 string(string s);
 */
 //例子:
 char szName[10]={'1','2','/0','3','4','5','/0'};
 //1.string(const char *s);//用c字符串s初始化,就是以'/0'结尾的字符串
 std::string sName1(szName);
 std::cout << sName1 <<"|" << sName1.length() << std::endl;//sName1输出结果:[12|2]
 //2.string(int n,char c); //用n个字符c初始化
 std::string sName2(3, '/0');//如果为'/0'也可,不过输出就是3个空字符
 //说明String 不同于一般的c 以‘/0'结尾的串,而是实在的串,一定要分清
 std::cout << sName2 << "|" << sName2.length() << std::endl;//输出:[222|3]
 //3.string() 是可以产生一个空串,不管是否是临时对象
 std::string sName3;
 std::cout << sName3 << "|" << sName3.length() << std::endl;//输出:[|0]
 //4.string(char*p, length)//从 p中拷贝 4个字符到sName4
 std::string sName4(szName, 4);
 std::cout << sName4 << "|" << sName4.length() << std::endl;//输出:[12 3|4]
 //5.string(string s,begin_pos,length) sName5//从s 中下标begin_pos位置开始,拷贝length个到sName5串
 std::string sName5(sName4, 1,3);
 std::cout << sName5 << "|" << sName5.length() << std::endl;//输出:[2 3|3]
 //6.string(sName); 等等
 //7.string(char*pBegin, char*pEnd);//拷贝从pBegin开始到pEnd 前一个结束
 std::string sName6(szName+1, szName+5);
 std::cout << sName6 << "|" << sName6.length() << std::endl; //输出:[2 34|4]
 // = 重载函数
  //string s="abc";//string& operator=(char* pstr)
 std::string s2 ; s2 ='c';
 std::cout << s2 << "|" << s2.length() << std::endl; 
原创粉丝点击