类似于strlen,strcmp,strpcy就不写了。。。。。。以下都是在VC6.0下编译,可能在VS上编译错误。
append()函数:
功能:C++一个字符串连接在另一个字符串后面。
代码:
#include<iostream>
#include<string>
using namespace std;
void main()
{
string a="hello ";
string b="world";
a.append(b,0,sizeof(b)+2);
cout<<a<<endl;
}
strchr()函数:
功能:C++从某一个字符串开始输出字符串。
代码:
#include<iostream.h>
#include<string.h>
void main()
{
cout<<strchr("hello world!",'e')<<endl;
}
或者:
#include<iostream.h>
#include<string.h>
void main()
{
char *a="hello world!";
char b='e';
cout<<strchr(a,b)<<endl;
}
strstr函数:
功能:找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。
代码:
#include <stdio.h>
#include <string.h>
int main()
{
char str1[1001],str2[1001];
while(~scanf("%s %s",str1,str2))
{
if(strstr(str1,str2)==0)
{
printf("No\n");
}
else
{
printf("Yes\n");
}
}
return 0;
}
strrev函数:
功能:把字符串s的所有字符的顺序颠倒过来(不包括空字符NULL)。
补充一下,strrev需要可能在OJ上面不能识别,要自己定义。
char *strrev(char *str)
{
char *p1,*p2;
if (!str||!*str)
{
return str;
}
for(p1=str,p2=str+strlen(str)-1;p2>p1;++p1,--p2)
{
*p1^=*p2;
*p2^=*p1;
*p1^=*p2;
}
return str;
}
或者:
char *strrev(char *str)
{
int n=strlen(str);
char* begin=str;
char* end=str+n-1;
while (begin<end)
{
char tmp=*begin;
*begin=*end;
*end=tmp;
++begin;
--end;
}
return str;
}
#include<stdio.h>
#include<string.h>
int main()
{
char str[1001];
while(~scanf("%s",str))
{
strrev(str);
printf("%s\n",str);
}
return 0;
}
reverse:
功能:把字符串s的所有字符的顺序颠倒过来。(C++)
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
string str;
while(cin>>str)
{
reverse(str.begin(),str.end());
cout<<str<<endl;
}
return 0;
}
atoi函数:
功 能: 把字符串转换成整型数,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。
代码:
#include<iostream.h>
#include<stdlib.h>
#define maxn 1001
int main()
{
char str[maxn];
while(cin>>str)
{
int n=atoi(str);
cout<<"n="<<n<<endl;
}
return 0;
}
substr函数:
功能:从一个字符串复制一个从指定位置开始,并具有指定长度的子字符串。
代码:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s = "hello world!";
string str = s.substr(3,6);
cout<<str<<endl;
return 0;
}
find函数:
功能:查找控制字符序列中与操作字符序列匹配的第一个子串,并返回子串的起始位置;
string 类提供了 6 种查找函数,每种函数以不同形式的 find 命名。这些操作全都返回 string::size_type 类型的值,以下标形式标记查找匹配所发生的位置;或者返回一个名为 string::npos 的特殊值,说明查找没有匹配。string 类将 npos 定义为保证大于任何有效下标的值。
#include <string> //C++ find 查找子串,从索引0开始,查找符合字符串"d"的头索引
#include <iostream>
using namespace std;
void main()
{
string s = "abcdefg";
string a = "de";
string::size_type i;
i = s.find(a,0);//从索引0开始,查找符合字符串"d"的头索引
cout<<i<<endl;
string b = s.substr(i,a.size());
cout<<b<<endl;
}