我是靠谱客的博主 单薄大雁,最近开发中收集的这篇文章主要介绍strcpy memcpy strcmp strlen strcat strstr strchr实现及辨析,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
1.strcpy实现
以下是C标准库写法,其最大隐患是有可能 dst 的长度小于 strlen(src) + 1 造成越界访问,或是类似 strcpy(ptr + 1, ptr) 发生重叠造成无限循环。
#include <assert.h>
char* strcpy(char* dst, const char* src)
{
assert(dst);
assert(src);
char* ret = dst;
while ((*dst++ = *src++) != '