/**
* This c Project just for test
* 字符串相关的操作
* author :pointer
* date:2015-12-21
*/
#include <stdio.h>
#include <stdlib.h>
char *my_strcpy(char* dst, const char* src);
char *my_strcat(char *dest, const char *src);
char my_strstr(const char *str, char c);
int my_strlen(const char *str);
void *my_memcpy(void * dest, const void *src, int count);
int main() {
char* src = "hello world";
char* dst = (char*) malloc(15); //use for test
char* temp_str = NULL;
char temp_char;
int len = 0;
temp_str = my_strcpy(dst, src);
printf("the my_strcpy result is %s\n", temp_str);
temp_str = my_strcat(my_strcpy(dst, src), src);
printf("the my_strcat result is %s\n", temp_str);
temp_char = my_strstr(src, 'd');
printf("the my_strstr result is %c\n", temp_char);
len = my_strlen(src);
printf("the my_strlen result is %d\n", len);
printf("Press any key to continue...\n");
getchar();
return 0;
}
//字符串复制
char* my_strcpy(char* dst, const char* src) {
if (dst == NULL || src == NULL) {
printf("null");
return NULL;
}
char* temp = NULL;
temp = dst;
while ((*dst++ = *src++) != '\0')
;
return temp;
}
//字符串追加
char *my_strcat(char *dest, const char *src) {
char* temp = NULL;
if (dest == NULL || src == NULL) {
printf("null");
return NULL;
}
temp = dest;
while (*dest)
dest++;
while ((*dest++ = *src++) != '\0')
;
return temp;
}
//字符查找
char my_strstr(const char *str, char c) {
if (str == NULL) {
printf("null");
return 0;
}
while ((*str != c) && (*str != '\0'))
str++;
if (*str == '\0') {
printf("null");
return 0;
} else {
return *str;
}
}
//字符串长度
int my_strlen(const char *str) {
int n = 0;
if (str == NULL) {
printf("NULL");
return n;
}
while (*str != '\0') {
str++;
n++;
}
return n;
}
//内存拷贝
void *my_memcpy(void * dest, const void *src, int count) {
char* temp_dest = (char*) dest;
char* temp_src = (char*) src;
char *temp = temp_dest;
if (temp_dest == NULL || temp_src == NULL) {
printf("null");
return NULL;
}
if (0 == count) {
printf("error input the count >0\n");
return NULL;
}
while (count-- > 0) {
*temp_dest++ = *temp_src++;
}
return temp;
}
常用的字符串小code
最新推荐文章于 2023-06-11 19:41:05 发布