模式串 - 台州学院评判系统.ppt

  1. 1、本文档共78页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模式串 - 台州学院评判系统

字符串处理、STL 台州学院2012暑期集训 主要内容 C/C++字符串处理函数 常用的STL 字典树简单介绍 KMP算法简单介绍 C字符串处理函数 求字符串长度 strlen(str); 字符串比较 strcmp(str1, str2); 比较两个字符串,如果相等返回的值为0,如果str1str2则小于0,反之大于0 strncmp(str1,str2,n); 比较str1,和str2前n个字符,返回的值同上 附加 strcat(str1, str2); 表示把str2接到str1上去 strncat(str1,str2,n); n表示连接上st2的前n个给st1,在最后不要加\0。 C字符串处理函数 替换 strcpy(str1, str2); 把str2赋值给str1 strncpy(str1, str2, n); n表示复制st2的前n个给st1,在最后要加\0。 逆置 strrev(str); 把整个字符串逆置 memset 将一块内存的每一个字节指定为某个值 C字符串处理函数——memset 包含头文件:string.h 按字节设置,因此: char a[81]; memset(a,‘A’,sizeof(a));将81个元素都设为’A’; int a[81]; memset(a, 0, sizeof(a)); 将81个元素都设为整数0; 但是:int a[81]; memset(a, 1,sizeof(a));却将所有元素都设即二进制: 00000001000000010000000100000001 因此该函数可以将一个整型数组全部置为0或-1(自己分析),或者将字符数组全部设为某个字符 C字符串处理函数——strchr/strstr 原型:extern char *strchr(char *s,char c); 功能:查找字符串s中首次出现字符c的位置 说明:返回首次出现c的位置的指针,如果s中不存在c则返回NULL。 #includestring.h #includestdio.h int main() { ??? char str[]=Hello,I am jian1573,I liking programing!; ??? char character=m ;? //指定一个字符 ??? char *strtemp; ??? strtemp=strchr(str,character);//注意这里返回的指针 ??? if(strtemp!=NULL)//说明已经找了 ??? { ??????? printf(“%d ”,strtemp - str);//这里c位置的指针减去字符串str的指针就是当前的位置了,str表示表示字符串str的第一个字符的地址 ??? } ??? else ??? { ??????? printf(can not find %c !,strtemp); ??? } ??? return 0; } C字符串处理函数——strchr/strstr strstr与strchr差不多; 在字符串中查找指定字符串的第一次出现 char *strstr(char *str1, char *str2); 找找子串”aa”在哪里? int main(){ char a[81]=aabbccaabbccabab, *p; p = strstr(a,“aa”);//返回的是指针 while (p!=NULL){ int pos = p-a; printf(%d\n,pos); p = strstr(a+pos+2,aa);//2为aa长度 } return 0; } C字符串处理函数——strtok 原型:extern char *strtok(char *s, char *delim); 功能:分解字符串为一组标记串。s为要分解的字符串,delim为分隔符字符串。 说明:首次调用时,s必须指向要分解的字符串,随后调用要把s设成NULL。 strtok在s中查找包含在delim中的字符并用NULL(‘\0’)来替换,直到找遍整个字符串。 返回指向下一个标记串。当没有标记串时则返回空字符NULL。 事例 int main(){ char a[]=This is a sentence with 7 tokens; char *p=strtok(a, ); while(p!=NULL) { puts(p);//被分割的串 p=strtok(NULL, ); } puts(a);//注意,源字符串已经被修改 return 0; } C字符

文档评论(0)

yanchuh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档