字符串拷⻉
#include<stdio,h>包下的库函数strcpy可以实现
模拟:
写⼀个函数my_strcpy,实现拷⻉字符串的功能,假设给定⼀个字符数组a,再给定⼀个字符数组
b,将字符串a中的内容拷⻉到字符串b中,拷⻉内容包含字符串末尾的 \0 字符。
思路:
使⽤ while 循环通过指针的⽅式逐⼀拷⻉源字符串中的每⼀个字符,直到遇到字符串结束标志 \0 ,然后将该标志也拷⻉到⽬标字符串中。注意,如果源字符串为空,该函数直接返回,不进⾏任 何操作。
代码:
#include<stdio.h>
void my_strcpy1(char* dest, const char* str) {while (*str != '\0') {*dest = *str;str++;dest++;}*dest = '\0';
}
void my_strcpy2(char* dest, const char* str) {while (*dest++ = *str++) {*dest = *str;str++;dest++;}
}
int main() {char arr1[] = "hello world";char arr2[50] = { 0 };my_strcpy1(arr2, arr1);printf("%s\n", arr2);my_strcpy1(arr2, arr1);printf("%s\n", arr2);strcpy(arr2, arr1);printf("%s\n", arr2);return 0;
}