string有很多的优点,一个一个来看
1.首先就是它对字符串可以直接比较
#include<iostream>
#include<string>
using namespace std;
string s, t;
int main()
{
cin >> s >> t;
cout << (s ==t) << endl;
return 0;
}
输入的两个字符串不等,判断后便输出了0
相比较于c,确实方便了很多,下面做一个对比
#include<stdio.h>
#include<string.h>
char m[1000], n[1000];
int main()
{
int i;
scanf("%d", &i);
while (i > 0)
{
scanf("%d%d", &m, &n);
printf("%d\n", strcmp(m, n));
}
return 0;
}
2.然后很方便的一个就是可以将字符串直接连接
#include<iostream>
#include<string>
using namespace std;
string s, t;
int main()
{
cin >> s>>t;
cout << s+t << endl;
return 0;
}
再来对比一下c
#include<stdio.h>
#include<string.h>
char m[100], n[100];
int main()
{
scanf("%s%s",m,n);
strcat(m, n);
puts(m);
return 0;
}
哈哈,感觉确实没上面那个得劲吧
3.insert(要插入的位置,要插入的字符串)
#include<iostream>
#include<string>
using namespace std;
string s;
string t;
int main()
{
cin >> s>>t;
s.insert(2, t);
cout <<s<< endl;
return 0;
}
字符串t就插入了字符串s中的第二个位置
#include<stdio.h>
#include<string.h>
char m[100], n[100],l[100];
int a=0;
int main()
{
scanf("%s%s",m,n);
for(int i=0;i<sizeof(m);i++)
{
l[i]=m[i+2];
}
for(int i=0;i<sizeof(strcat(m,l));i++)
{
int t=l[i+2];
m[i+2]=n[i];
n[i]=t;
}
printf("%s\n",strcat(m,l));
return 0;
}
4.erase(字符串要开始删除的位置,要删除的个数)
#include<iostream>
#include<string>
using namespace std;
string s;
string t;
int main()
{
cin >> s;
s.erase(2,2);
cout <<s<< endl;
return 0;
}
5.substr(字符串要开始截取的位置,要截取几个数)
#include<iostream>
#include<string>
using namespace std;
string s;
string t;
int main()
{
cin >> s;
cout << s.substr(2, 4) << endl;
return 0;
}
5.find(要查找的字符串,从什么位置开始找(不写的话默认从开头开始找))
找不到返回值-1
找到了返回第一次找到的字符串的下标值
#include<iostream>
#include<string>
using namespace std;
string s;
string t;
int main()
{
cin >> s>>t;
cout << s.find(t) << endl;
return 0;
}
*************
#include<iostream>
#include<string>
using namespace std;
string s;
int main()
{
int x = 10;
s = to_string(x);//整型转字符
cout << s << endl;
int t;
t= stoi(s);//字符转整型
cout << t << endl;
return 0;
}
版权声明:本文为WJXABC3711原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。