1.cin和getline的区别
void text01(){
string s;
// cin>>s;//hello world
// cout<<s;//hello
//原因:cin遇到空格会结束读入
getline(cin,s);
//getline的格式是getline(cin,s);
cout<<s;//hello world
}
void text02(){
string s1;
string s2;
/*cin>>s1;*/
getline(cin,s1);
//连续输入两个字符串的时候cin和getline配合使用可能会出错
//getline吃了回车倒是无法读入下个字符串了
getline(cin,s2);
//解决方法,俩个getline
cout<<s1<<endl<<s2<<endl;
}
2.s.length()和s.size()
void text03(){
string s;
getline(cin,s);
for(int i=0;i<s.size();i++){
cout<<s[i];
}
cout<<endl;
for(int i=0;i<=s.length();i++){
cout<<s[i];
}
}
3.字符串的拼接、赋值和比较大小
void text04(){
string s1,s2;
getline(cin,s1);
getline(cin,s2);
//拼接用'+'
cout<<s1+s2<<endl;
//赋值直接用'='
//这里面都是运算符的重载operator
string s3=s1;
cout<<s3<<endl;
/*
* 字符串的比较规则:从首位开始逐一比较,直到遇到
* 不相等的一位,比较他们的ASCLL码值,大的就大,小的就小
* */
if(s1>s2){
cout<<s1<<">"<<s2<<endl;
}
else if(s1==s2){
cout<<s1<<"="<<s2<<endl;
}
else{
cout<<s1<<"<"<<s2<<endl;
}
}
4.s.erase删除和s.insert插入
void text05(){
/*字符串的删除
* 字符数组的删除是伪删除,删除完之后数组的大小不变
* 但是string类下的erase方法是真删除,size大小也会改变
* */
string s="love china";
/*erase使用方法
* 两参-->s.erase(int pos,int cout)从字符串的pos位置,删除cout个字符,包含pos
* 单参-->s.erase(int pos),从字符串pos位置,把后面的字符都删除
* */
//love china
s.erase(4,1);
cout<<s<<endl;
/*s.erase(4);*/
/*insert使用方法
* 三参-->s.insert(int pos,int cout,char val)
* 在pos位置,插入cout个val
* */
s.insert(4,4,' ');
cout<<s<<endl;
}
5.s1.find(s2)查找字串操作
void text06(){
string s1,s2;
s1="i love china";
s2="china";
/*s1.find(s2)使用方法
* 口诀:大串find小串,查到返回首个字符对应位置的下标,反之返回-1
* 小串是大串的字串
* */
int pos=s1.find(s2);
if(pos!=-1){
cout<<s2<<" is substring of "<<s1<<endl;
cout<<"the first pos is "<<pos<<endl;
}
else
cout<<"NONE"<<endl;
}
6.s.substr()字符串截取操作
void text07(){
string s="i love china";
/*s.substr(int pos,int cout);
* 返回截取后的值,但原串不变
* */
s.substr(2,4);
cout<<s<<endl;
cout<<s.substr(2,4)<<endl;
}
7.sort()字符串的排序和字符串数组的排序
void text08(){
string s[5];
for(int i=0;i<5;i++){
getline(cin,s[i]);
}
sort(s,s+5);
for(int i=0;i<5;i++){
cout<<s[i]<<endl;
}
}
8.reverse()翻转
void text09(){
string s;
getline(cin,s);
reverse(s.begin(),s.end());
cout<<s<<endl;
}
9.stoi()、stod()、stol()、to_string()
void text10(){
string s1="123",s2="456";
cout<<stoi(s1)+stoi(s2)<<endl;
string s3="3.14",s4="5.12";
cout<<stod(s3)+stod(s4)<<endl;
int a=123,b=456;
cout<<to_string(a)+to_string(b)<<endl;
}