文章目录
STR函数总结(对字符串的操作)
头文件
#include<string.h>
#include<cstring>
这两种都可以,前面那个大多应用在c语言,后面是c++;
字符串的构建
char str[Max];//Max是你需要的长度
char str[]="shhshshs";//赋值的方法构建
其实一般直接用string s直接构建,之后会将string的使用写出来
常用函数;
char str1[Max],str2[Max];
int n;
strlen(str1);//求字符串的长度,返回值是uninsigned int,中间遇到‘\0’停下
strcmp(str1,str2);//字典序比较str1和str2,str1>str2,返回>0,相等返回0,str1<str2返回<0
strncmp(str1,str2,n);//同上不过只比较前n个
strstr(str1,str2);//在str1中寻找str2,如果存在返回true,否则返回false
strcpy(str1,str2);//将str2的东西复制到str1中
strncpy(str1,str2,n);//截取长度为n的str2复制到str1中
strcat(str1,str2);//在str1后面添加str2
strncat(str1,str2,n);//截取长度为n的str2添加到str1后面
strchr(str1,c);//返回str1中c第一次出现的位置,如果没有返回NULL
strrchr(str1,c);//返回str1中c最后一次出现的位置,如果没有返回NULL
strdup(str1);//将str1存到新的位置返回地址
strrev(str1);//将str1翻转
重点函数
1.strcspn() strspn()
strcspn
原型:size_t strcspn(const char *pstr, const char *strCharset)
MSDN解释为:在字符串pstr中搜寻strCharsret中所出现的字符,返回strCharset中出现的第一个字符在pstr中的出现位置。简单的说,若strcspn返回的数值为n,则代表字符串strCharsrt开头连续有n个字符不包含在pstr内的字符。
实现十分巧妙,在这里
原型size_t strspn(const char *pstr, const char *strCharset)
功能:返回后面字符串中第一个不在前者出现的下表。
2.strtok(str,sym)----查找特殊符号
在str1里查找stm(str2为各种字符,例:@),并记录初始地址
char * strtok ( char * str, const char * sym )
①参数
str1---------要扫描的字符串
str2---------待查找特殊符号
②返回值
str1中str2出现时的指针
③注意事项
若找不到,返回NULL指针
可以指定一个空指针,在这种情况下,该函数将继续扫描以前对该函数的成功调用结束的位置
3.strncpy(str1,str2+i,j)
将str2中的从i开始的j个字符复制到str1中
题目应用
Substrings
暂时就这个,之后会添加