C语言中操作字符串的一些函数源代码 我不是女神ヾ 2022-06-12 09:55 318阅读 0赞 很多人认为C语言中的难点是指针,对指针的理解直接关系到所编程序的好坏,所以, 在这里列举了一些C编译器通常都有的标准函数的源代码,看过它们,就能对指针和字符串有所了解了. 1. strlen(),计算字符串长度 int strlen(const char string) \{ int i=0; while(string\[i\]) i++; return i; \} 2. strcpy(), 字符串拷贝. char \*strcpy(char \*strDestination, const char \*strSource) \{ assert(strDestination && strSource); char \*strD=strDestination; while ((\*strDestination++=\*strSource++)!='\\0') NULL; return strD; \} 3. strcat(), 字符串的连接. char \*strcat(char \*target,const char \*source) \{ char \*original=target; while(\*target) target++; // Find the end of the string 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 return 1; else return ((\*str1>\*str2)?-1:1); \}
还没有评论,来说两句吧...