/****************************************************** 很多人认为C语言中的难点是指针,对指针的理解直接关系到所 编程序的好坏,所以,在这里列举了一些C编译器通常都有的标准 函数的源代码,看过它们,就能对指针和 字符串有所了解了. *******************************************************/ 1. strlen()/*计算字符串长度*/ int strlen(const char string) { int i=0; while(string) i++; return i; } 2. strcpy()/* 字符串拷贝.*/ char *strcpy(char *destination, const char *source) { while(*destinaton++=*source++); return (destination-1); } 3. strcat()/* 字符串的连接.*/ char *strcat(char *target,const char *source) { char *original=target; /* Find the end of the string*/ while(*target) target++; while(*target++=*source++);
return(original); } 4. streql()/*判断两个字符串是否相等.*/ int streql(char *str1,char *str2) { while((*str1==*str2)&&(*str1)) { str1++; str2++; } return((*str1==NULL)&&(*str2==NULL)); } 5. strchr()/*在字符串中查找某个字符.*/ char *strchr(const char *string,int letter) { while((*string!=letter)&(*string)) string++;
return (string); } 6. chrcnt(), 计算某个字符在字符串中出现的次数. int chrcnt(const char *string,int letter) { int count=0; while(*string) { if(*string==letter) count++; }
return count; } 7. strcmp(), 判断两个字符串是否相等. int strcmp(const char *str1,const char *str2) { while((*str1==*str2)&&(*str1)) { str1++; str2++; } if((*str1==*str2)&&(!*str1)) /*Same strings*/ return 0; else if((*str1)&&(!*str2)) /*Same but str1 longer*/ return -1; else if((*str2)&&(!*str1)) /*Same but str2 longer*/ else return((*str1>*str2)?-1:1); } ******************************************************************//