1.strlen
法一:常规法
#include#include #include #define N 100 int my_strlen(const char*str) { assert(str != NULL); int count = 0; while (*str != ' ') { str++; count++; } return count; } int main() { char str[N] = "LoveHoneyYou"; int len=my_strlen(str); printf("%dn", len); system("pause"); return 0; }
法二: 指针相减
#include#include #include #define N 100 int my_strlen(const char*str) { assert(str != NULL); char *cp = str; while (*cp != ' ') { cp++; } return (int)(cp-str); } int main() { char str[N] = "LoveHoneyYou"; int len=my_strlen(str); printf("%dn", len); system("pause"); return 0; }
2.strcpy
#include#include #include #define N 100 void my_strcpy(char *dest, char *src) { while (*src != ' ') { *dest++ = *src++; } *dest = *src; } int main() { char stra[N] = "LoveHoneyYou"; char strb[N] = "Love dearest you"; my_strcpy(stra, strb); printf(stra); printf("n"); system("pause"); return 0; }
3.strcat
#include#include #include #define N 100 void my_strcat(char *dest, char *src) { char*cp = dest; while (*cp!= ' ') { cp++; } while (*src!=' ') { *cp++ = *src++; } *cp = *src; } int main() { char stra[N] = "Love Honey You "; char strb[N] = "My dear friend"; my_strcat(stra, strb); printf(stra); printf("n"); system("pause"); return 0; }
4.strcmp
#include#include #define N 100 int my_strcmp(char *dest, char *src) { while (*dest != ' ' || *src != ' ') { if (*dest == *src) { dest++; src++; } else if (*dest < *src) { return -1; } else { return 1; } } return 0; } int main() { char stra[N] = "I Love You "; char strb[N] = "You Love Me "; int ret = my_strcmp(stra, strb); printf("ret=%dn", ret); system("pause"); return 0; }
5.strchr //字符的首次出现
#include#include #define N 100 char* my_strchr(char *str, char ch) { while (*str != ' ') { if (*str == ch) { break; } str++; } return str; } int main() { char stra[N] = "I Love You "; char*ch = my_strchr(stra, 'Y'); printf("%c n", *ch); system("pause"); return 0; }
6.strchr //字符最后一次出现
#include#include #define N 100 char* my_strrchr(char *str, char ch) { char*cp = str; while (*cp != ' ') { cp++; } cp = cp - 1; while (cp != str - 1) { if (*cp == ch) { return cp; } cp--; } return NULL; } int main() { char stra[N] = "I Love You "; char*ch = my_strrchr(stra, '0'); system("pause"); return 0; }



