字符串及其应用.ppt
使用指针方式处理字符串连接的函数如下所示。1char*strjoin(char*s,char*t)2{ char*s1=s;3while(*s) //寻找前串的末尾4s++;5while((*s++=*t++)!=\0)//实现字符串连接6;7returns1;8}9字符串的连接在标准函数库中提供了相应的字符串连接函数,函数的原型为:函数的功能是:将由strSource表示的源字符串拷贝到由strDestination表示的目标字符串的末尾(即连接到strDestination所表示的字符串后),然后返回strDestination;strDestination所代表目标字符串的字节长度必须满足两个字符串连接后的长度要求。char*strcat(char*strDestination,constchar*strSource);例7-11使用C标准库函数strcat实现字符串的连接。例7-12编程序实现将源字符串从指定位置开始连接到目标字符串的功能。字符串的连接字符串中有效字符的统计字符串的复制字符串的连接字符串中字符的查找字符串中子串的插入和删除字符串中字符的插入和删除字符串的比较和子串的查找字符串与二维字符数组字符串的常用处理方法及标准库函数字符串中字符的查找字符串中字符的查找所谓字符串中字符的查找就是按照指定的方向寻找指定字符第一次在字符串中出现的位置。在字符串中查找指定的字符从查找方向上可以分为正向查找(从串首部至串尾)和反向查找(从串尾部至串首),从获取被查找字符位置信息上可以分为返回下标序号方式和返回字符存放地址方式。01040203在字符串中正向查找指定字符第一次出现位置的基本思想是:从被操作字符串的第一个字符开始循环依次取出被操作字符串当前位置的字符与指定的字符相比较,若比较相符合则返回该字符的位置;否则进行下一轮比较直到被处理的字符串中所有字符取完为止。例7-13编制函数实现功能:在字符串中正向查找指定的字符,若被查找字符存在则返回字符在字符串中的下标序号;若指定的字符在被查找的字符串中不存在,则返回-1;并用相应主函数进行测试。例7-14编程序实现功能:利用上面设计的字符查找函数求两个字符串中共同具有的字符并将这些字符组成第三个字符串,注意相同字符只能取一次。例7-15重写例7.14程序,要求使用标准库函数strchr在字符串中查找指定字符。字符串中正向查找指定字符字符串中字符的查找在字符串中反向查找指定字符第一次出现位置的基本思想是:从被操作字符串的最后一个字符开始循环依次取出被操作字符串当前位置的字符与指定的字符相比较,若比较相符合则返回该字符的位置;否则进行下一轮比较直到被处理的字符串中所有字符取完为止。01例7-16编制函数实现功能:在字符串中反向查找指定的字符,若被查找字符存在则返回字符在字符串中的下标序号;若指定的字符在被查找的字符串中不存在,则返回-1;并用相应主函数进行测试。02字符串中反向查找指定字符字符串中字符的查找字符串中字符的查找intRsearch_chr(chars[],charc){ inti; for(i=strlen(s)-1;i=0;i--) if(s[i]==c) returni; return-1;} 上面程序的函数Rsearch_chr实现方法与例7.13程序类似,惟一不同的地方是此时取出字符串中字符时是从字符串中的最后一个字符开始,字符串中最后一个字符的下标序号是:strlen(s)-1(字符串的长度减1)。STEP1STEP2STEP3在C语言的标准函数库中提供了相应的在字符串中查找指定字符函数strchr,函数的原型为:char*strchr(constchar*string,intc);函数的功能是:在由string表示的字符串中正向查找由c所表示的指定字符在字符串中首次出现的位置,若未找到则返回NULL。字符串中字符的查找字符串中有效字符的统计字符串的复制字符串的连接字符串中字符的查找字符串中子串的插入和删除字符串中字符的插入和删除字符串的比较和子串的查找字符串与二维字符数组字符串的常用处理方法及标准库函数在字符串指定位置插入一个字符的基本思想是:首先在字符串中查找指定的位置,然后将字符串中从指定位置以后的所有字符由后向前依次向后移动一个字符位置以腾出所需要的字符插入空间;最后将指定的插入字符拷贝到该指定位置即可。字符的插入包括前插(插入的字符在指定位置原字符之前)和后插(插入的字符在指定位置原字符之后)两种