| | | | 作者:Sanda 文章來(lái)源:網(wǎng)絡(luò ) | 很多人認為C語(yǔ)言中的難點(diǎn)是指針,對指針的理解直接關(guān)系到所編程序的好壞,所以, 在這里列舉了一些C編譯器通常都有的標準函數的源代碼,看過(guò)它們,就能對指針和字符串 有所了解了. 1. strlen(),計算字符串長(cháng)度 int strlen(const char string) { int i=0; while(string[i]) 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; while(*target) target++; // Find the end of the string while(*target++=*source++); return(original); } 4. streql(), 判斷兩個(gè)字符串是否相等. int streql(char *str1,char *str2) { while((*str1==*str2)&&(*str1)) { str1++; str2++; } return((*str1==NULL)&&(*str2==NULL)); } 5. strchr(), 在字符串中查找某個(gè)字符. char *strchr(const char *string,int letter) { while((*string!=letter)&(*string)) string++; return (string); } 6. chrcnt(), 計算某個(gè)字符在字符串中出現的次數. int chrcnt(const char *string,int letter) { int count=0; while(*string) if(*string==letter)count++; return count; } 7. strcmp(), 判斷兩個(gè)字符串是否相等. int strcmp(const char *str1,const char *str2) { while((*str1==*str2)&&(*str1)) { str1++; str2++; } if((*str1==*str2)&&(!*str1)) //Same strings return o; else if((*str1)&&(!*str2)) //Same but str1 longer return -1; else if((*str2)&&(!*str1)) //Same but str2 longer else return((*str1>*str2)?-1:1); }
| |