c++ string操作
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
void test01()
{
//
/*string& operator=(const char* s)
* string& operator=(const string &s)
* string& operator=(char c)
* string& assign(const char *s)
* string& assign(const char *s,int n)
* string& assign(const string &s)
* string& assign(int n,char c)
*/
//
//字符串赋值操作
string str1;
str1="hello world";
cout<<str1<<endl;
string str2;
str2=str1;
cout<<str2<<endl;
string str3;
str3='a';
cout<<str3<<endl;
string str4;
str4.assign("hello C++");
cout<<str4<<endl;
string str5;
str5.assign("hello C++",5);
cout<<str5<<endl;
string str6;
str6.assign(str5);
cout<<str6<<endl;
string str7;
str7.assign(10,'w');
cout<<str7<<endl;
}
void test02()
{
//字符串拼接
//
/*
* string& operator(const char* str)
* string& operator(const char* str)
* string& operator(const char* str)
* string& operator(const char* str)
* string& append(const char* str)
* string& append(const char* str,int n)
* string& append(const string &s)
* string& append(const char &s,int pos,int n)
*/
string str1="我";
str1+="爱玩游戏";
cout<<"str1="<<str1<<endl;
str1+=':';
cout<<"str1="<<str1<<endl;
string str2="LOL DNF";
str1+=str2;
cout<<str1<<endl;
string str3="I";
str3.append(" love");
cout<<"str3="<<str3<<endl;
str3.append(" game abcde",5);
cout<<"str3="<<str3<<endl;
str3.append(str2);
cout<<"str3="<<str3<<endl;
str3.append(str3,11,3);
cout<<"str3="<<str3<<endl;
}
void test03()
{
//
/*
* int find(const string& str,int pos=0) const;
* int find(const char * s,int pos=0) const;
* int find(const char * s str,int pos=0,int n) const;
* int find(const char c, int pos=0) const;
* int rfind(const string& str,int pos=0) const;
* int rfind(const char * s,int pos=0) const;
* int rfind(const char * s str,int pos=0,int n) const;
* int rfind(const char c, int pos=0) const;
* string& replace(int pos,int n,const string& str)
* string& replace(int pos,int n,const char* c)
*
*/
string str1="hello world";
//从左边查找
cout<<str1.find('l')<<endl;
//从右边查找
cout<<str1.rfind('l')<<endl;
string str2="C++";
str1.replace(6,5,str2);
cout<<"str1="<<str1<<endl;
}
void test04()
{
//字符串比较
//
/*
* int compare(const stirng &s)const
* int compare(const char *s)const
*/
string str1="hello world";
string str2="hello C++";
if (str1.compare(str2)==0)
{
cout<<"str1等于str2"<<endl;
} else if (str1.compare(str2)>0)
{
cout<<"str1大于str2"<<endl;
}
else{
cout<<"str1小于str2"<<endl;
}
}
int main() {
// string s1;
// const char * str="hello world";
// string s2(str);
// cout<<"s2="<<s2<<endl;
// string s3(s2);
// cout<<"s3="<<s3<<endl;
//
// string s4(10,'a');
// cout<<"s4="<<s4<<endl;
// cout<<s2.find('world')<<endl;
//
test01();
test02();
test03();
test04();
return 0;
}