字符串部分操作的函数实现
2012-09-24 18:37
483 查看
#include <iostream> using namespace std; /* 求sub字符串在src中匹配的位置,匹配失败返回-1 */ int findStr(const char*src,const char*sub) { if(src==NULL || sub==NULL) return -1; const char * srcp; const char * subp; int index=-1; while(*src!=0) { index++; srcp=src++; subp=sub; while(*srcp++==*subp++) { if(*subp==0) return index; } } return -1; } /* 字符串翻转 */ void revStr(char* str) { if(str==NULL) return; int length=strlen(str); int midIndex=(length%2==0)?(length/2):(length/2+1); for(int i=0;i<midIndex;++i) { char temp=str[i]; str[i]=str[length-i-1]; str[length-i-1]=temp; } } /* 判断是否是回文 */ bool isHuiWen(const char *str) { int length=strlen(str); int midIndex=length/2; bool huiWen=true; for(int i=0;i<midIndex;i++) { if(str[i]!=str[length-i-1]) { huiWen=false; break; } } return huiWen; } /* 字符串的比较,前者大返回1,后者大返回-1,相等返回0 */ int myStrCmp(const char* src,const char * dst) { int ret=0; while( !(ret=*src-*dst) && *dst) { src++; dst++; } if(ret>0) ret=1; else if(ret<0) ret=-1; return ret; } /* 获取字符串长度,这种方法在求长字符串时较快速 */ int getStrLen(const char *str) { const char *temp=str; while(*str++!=0); return str-temp-1; } int main() { cout<<findStr("chen","he")<<endl; char str1[]="hello"; revStr(str1); cout<<str1<<endl; cout<<isHuiWen("hello")<<endl; cout<<isHuiWen("chehc")<<endl; cout<<myStrCmp("chen","chen")<<endl; cout<<myStrCmp("che","chen")<<endl; cout<<myStrCmp("chen","che")<<endl; cout<<getStrLen("chen")<<endl; return 0; }
相关文章推荐
- 面试常考题:不调用库函数,怎样实现字符串操作函数?
- <2012 12 17> C标准库中一些字符串操作函数的实现
- 字符串操作函数实现
- 一些字符串及内存操作函数的实现
- 字符串部分函数的实现
- 编写一个函数reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中 的字符串操作函数。
- 字符串 操作函数 strchr 实现
- 一些字符串操作函数的模拟实现
- 【廖雪峰 python教程 课后题 切片】利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:
- c语言中部分字符串操作函数
- 利用切片操作,实现一个trim()函数,去除字符串首尾的空格
- C语言 编写一个函数reverse_string(char * string) 实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数。
- 字符串部分函数的实现
- 自己编写c语言实现的字符串操作函数
- 自己实现字符串操作函数strlen(),strcat(),strcpy(),strcmp()
- 【微软100题】定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部。 如把字符串abcdef左旋转2位得到字符串cdefab。请实现字符串左旋转的函数。
- 字符串操作函数原型实现
- 一些字符串及内存操作的函数的实现
- 纯C 字符串操作函数 实现 (strcpy, strncpy, memcpy, memset, strcat, strlen ... ) .
- C字符串操作函数实现