c库函数编写练习

    xiaoxiao2021-12-14  23

    #include <stdio.h> #include <string.h> #include <stdlib.h> #define MAX_SIZE 1024 int my_strlen(char *src) { int len = 0; while(*src != '\0') { len++; src++; } return len; } char * my_strcpy(char *dest,char *src) { char *temp = dest; while(*src != '\0') { *temp = *src; temp++; src++; } *temp = '\0'; return dest; } char * my_strncpy(char *dest,char *src,int n) { int i; if(strlen(src) < n) { return dest; } for(i = 0;i < n;i++) { *(dest+i) = *(src+i); } return dest; } char * my_strcat(char *src,char *dest) { #if 0 int src_len; int dest_len; int i; int j = 0; dest_len = strlen(dest); src_len = strlen(src); for(i = src_len;i < dest_len+src_len;i++) { *(src+i) = *(dest+j); j++; } #endif char *temp = src; while(* src != '\0') { src++; } while(*dest != '\0') { *src = *dest; src++; dest++; } *src = '\0'; // *(dest+j) = '\0'; return src; } int my_strcmp(char *src,char *dest) { while(*dest != '\0' && *src != '\0') { if((*src - *dest) > 0) { return 1; } else if((*src - *dest) < 0) { return -1; } dest++; src++; } if(*dest == '\0' && *src != '\0') { return -1; } else if(*dest != '\0' && *src == '\0') { return 1; } else if(*dest == '\0' && *src == '\0') { return 0; } } int main() { char *dest = (char *)malloc(sizeof(char)*MAX_SIZE); char src[MAX_SIZE] = "hello world"; int len; int ret; my_strcpy(dest,"hello world"); if(dest == NULL) { printf("malloc error!\n"); } // printf("please enter src:\n"); // scanf("%s",src); len = my_strlen(src); printf("the length of src is:%d\n",len); // my_strncpy(dest,src); // my_strncpy(dest,src,5); // my_strcat(src,dest); // printf("the dest is :%s\n",src); ret = my_strcmp(src,dest); printf("ret = %d\n",ret); return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-970589.html

    最新回复(0)