string 快速使用,難點解決


 //構造函數使用 列表
 /*
 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; 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章