常用的字符串处理函数
下列函数包含在头文件cstring(stirng.h)中。
1)char *strcat(char *dest,const char *src) ,将字符串src添加到dest末尾,返回dest 。注意,dest应有足够的空间再容纳src。
2)char *strchr(const char *s,int c) ,检索并返回字符c在字符串s中第一次出现的位置(内存地址,指针),如果不到匹配字符,返回NULL。
3)int strcmp(const char *s1,const char *s2) ,比较字符串s1与s2的大小,并返回s1-s2 (结果大于0表示s1大于s2;结果小于0表示s1小于s2;结果等于0表示它们相同)。
4)char *strcpy(char *dest,const char *src) ,将字符串src复制到dest ,返回dest。
举例:
#include <iostream>
using namespace std;
#include<cstring>
void main()
{
char str1[100];  //定义字符数组,存放字符串处理字符串的常用函数
char str2[100];
char str3[80]="Li Xian crashes out of men's 110m hurdles 2012-08-07.";
strcpy(str1,str3);//用法一,函数语句
cout<<str1<<endl;;//
cout<<strcpy(str2,str3)<<endl;//用法二,函数作表达式的一部分
cout<<str2<<endl;;//
}
运行结果:
Li Xian crashes out of men's 110m hurdles 2012-08-07.
Li Xian crashes out of men's 110m hurdles 2012-08-07.
Li Xian crashes out of men's 110m hurdles 2012-08-07.
5)size_t strcspn(const char *s1,const char *s2), 扫描s1,返回在s1中有,在s2中也有的第一个字符的下标 。
6)int stricmp(const char *s1,const char *s2),比较字符串s1和s2,不区分大小写,返回s1-s2,不改变s1和s2。
7)size_t strlen(const char *s),返回字符串s的长度。
8)char *strncat(char *dest,const char *src,size_t maxlen) ,将字符串src中最多maxlen个字符连接到字符串dest后面,返回dest。
9)int strncmp(const char *s1,const char *s2,size_t maxlen) ,比较字符串s1与s2中的前maxlen个字符(至多) ,s1>s2返回正数,s1<s2返回负数,s1=s2返回0。
10)char *strncpy(char *dest,const char *src,size_t maxlen) ,复制src中的前maxlen(至多)个字符到dest中, 返回dest。
11)int strnicmp(const char *s1,const char *s2,size_t maxlen) ,不区分大小写地比较字符串s1与s2中的至多前maxlen个字符 。
12)char *strrchr(const char *s,int c) ,返回字符c在字符串s中最后一次出现的位置(指针),如果不到,返回NULL 。
13)size_t strspn(const char *s1,const char *s2) ,返回s1中第1个由s2中的字符组成的字符串的长度,或者说返回s1中第1个不是s2中的字符的字符的下标。
如s1[]="sfdddxyzabfcabcffff",s2[]="fsabfcd" ,则结果为5。
14)char *strstr(const char *s1,const char *s2) ,在字符串s1中查字符串s2,到则返回第一次出现的位置(指针),不到则返回NULL 。
15)char *strlwr(char *s),将字符串s中的大写字母全部转换成小写字母,返回s。
16)char *strupr(char *s),将字符串s中的小写字母全部转换成大写字母,返回s。
17)char *strrev(char *s) ,将字符串s中的字符全部颠倒顺序重新排列,返回s。
18)char *strset(char *s,int ch) ,将字符串s中的所有字符替换成给定字符ch 。
2

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。