c的最基本上函数实现

来源:互联网 发布:网络负面消息处理方案 编辑:程序博客网 时间:2024/05/17 22:00
/***************strlen.cpp************/int Strlen(const char *s){        int iLen = 0;        while (*s!= '\0')        {                s++;                iLen++;        }        return iLen;}/***************strcpy.cpp************///拷贝函数char *Strcpy(char *dest, const char *src){        char * temp = dest;        while (*src != '\0')        {                *dest = *src;                src++;                dest++;        }        return temp;}char *Strncpy(char *dest, const char *src, int n){        char * temp = dest;        while ((*src != '\0')&& (n >0))        {                *dest = *src;                src++;                dest++;                n--;        }        return temp;}/***************strcat.cpp************/void strcat(char *s, char *t){        while (*s != '/0')        {                s++;        }        while((*s++ = *t++) != '/0')        ;}/***************strcmp.cpp************/int Strcmp(const char *s1, const char *s2){        while ((*s1 == *s2)&& (*s1 !='\0'))        {                s1++;                s2++;        }        return *s1 -*s2;}/***************strncmp.cpp************/int Strncmp(const char *s1, const char *s2, int n){        if (n == 0)        {                return 0;        }        while ((*s1 == *s2)&& (*s1 !='\0') && ( n-1 > 0 ))        {                s1++;                s2++;                n--;        }        return *s1 -*s2;}/***************strend.cpp************/int strend(char *s, char *t){        char *pTBegin = t;        while (*s != '/0')        {                s++;        }        while (*t != '/0')        {                t++;        }        while (*s==*t)        {                if (t==pTBegin)                {                        return 1;                }                s--;                t--;        }        return 0;}/***************LTrim.cpp************/char *LTrim(char *str){        char *p = str;        if (str==NULL)        {                return ;        }        while(*p!='/0')        {                if ((*p!=' ')&&(*p!='/t'))                {                        break;                }                p++;        }        if (p == str)        {                return p;        }        strcpy(str,p);        return str;}/***************RTrim.cpp************/char *RTrim(char *str){ int i = strlen(str)- 1;  while((i>=0)&&(str[i]==' '||str[i]=='/t')) {  str[i] = '/0';  i--; } return str;}char *RTrim(char *str){        int i = strlen(str)- 1;        while((i>=0)&&(str[i]==' '||str[i]=='/t'))        {                str[i] = '/0';                i--;        }        return str;}/***************Trim.cpp************/char *Trim( char *str ){ char *pStr; int i = 0; if ( str == NULL )  return NULL; pStr = str; while ( *pStr == ' ' || *pStr == '/t' )  pStr ++; strcpy( str, pStr ); i = strlen( str ) - 1; while( (i>=0)&&(str[i] == ' ' || str[i] == '/t') ) {  str[i] = '/0';  i -- ; } return  str;}int main(){        int i = 1;        char *p ="abcdefg";        char *p2="abcdefh";        char *p3="abcdefg";        char temp[10] = {0};        char temp2[10] = {0};        printf("strlen(p)= %d, Strlen(p)= %d\n", strlen(p),Strlen(p));        printf("Strcmp(p,p2)= %d\n", Strcmp(p,p2));        printf("Strcmp(p2,p3)= %d\n", Strcmp(p2,p3));        printf("Strncmp(p2,p3,6)= %d\n", Strncmp(p2,p3,6));        printf("Strncmp(p2,p3,7)= %d\n", Strncmp(p2,p3,7));        printf("Strncmp(p2,p3,3)= %d\n", Strncmp(p2,p3,3));        printf("Strcpy(temp, p2)= %s\n", Strcpy(temp,p2));        printf("Strncpy(temp2, p2)= %s\n", Strncpy(temp2,p2,5));}



原创粉丝点击