永远相信,美好的事情即将发生!
int compare(const string &s) const;
与字符串s比较int compare(const char*s) const;
与字符串s比较#include
#include
#include
using namespace std;
void text01() {
//字符串的比较(类似于C里的strcmp()函数)
string s1 = "hello";
string s2 = "helpo";
if (s1.compare(s2) == 0) {
cout << "s1=s2" << endl;
}
else if (s1.compare(s2) > 0) {
cout << "s1>s2" << endl;
}
else {
cout << "s1 << endl;
}
}
int main() {
text01();
return 0;
}
[]
下标访问.at()
访问#include
#include
#include
using namespace std;
//字符串的存取
//访问修改单个字符
void text01() {
//法①:通过 [] 访问单个字符
string s1 = "hello";
int len = s1.size();
for (int i = 0; i < len; i++) {
cout << s1[i] << " ";
}
cout << endl;
//法②:通过at方式访问单个字符
for (int i = 0; i < len; i++) {
cout << s1.at(i) << " ";
}
cout << endl;
}
int main() {
text01();
return 0;
}
[]
直接修改.at()
进行修改#include
#include
#include
using namespace std;
//字符串的存取
//修改单个字符
void text02() {
//法①:通过[]来修改
string s1 = "hello";
s1[0] = 'p';
cout << s1 << endl;
//法②:通过s1.at()来修改
s1.at(1) = 'q';
cout << s1 << endl;
}
int main() {
//text01();
text02();
return 0;
}
string& insert(int pos, const char*s)
插入字符串string& insert(int pos, const string& str);
插入字符串string& insert(int pos, int n, char c);
在指定位置插入n个字符cstring& erase(int pos,int n = npos);
从pos开始删除n个字符#include
#include
#include
using namespace std;
//插入操作
void text01() {
string s1 = "hello";
s1.insert(1, "123");
//从下标为1开始,插入"123"
cout << s1 << endl;
}
void text02() {
string s1 = "h123ello";
s1.erase(1, 3);
//从坐标为1开始,删除3个字符
cout << s1 << endl;
}
int main() {
text01();
text02();
return 0;
}
string substr(int pos=0, int n = npos) const;
返回由pos开始的n个字符组成的字符串
#include
#include
#include
using namespace std;
//求子串
void text01() {
string str = "hello";
string subStr = str.substr(1, 3);
cout << subStr << endl;
}
void text02() {
string email = "[email protected]";
//从邮件地址获取用户名信息【即@前的名字】
//思路:截取"@"前的字符串
int pos = email.find("@"); //pos结果为@的下标
string username = email.substr(0, pos - 1);
cout << username << endl;
}
int main() {
text01();
text02();
return 0;
}
string的故事到这里就讲完了,让我们相约在vector容器、deque容器叭!