strcpy函数的实现
来源:互联网 发布:java 构造函数 编辑:程序博客网 时间:2024/05/29 10:33
流行的strcpy函数写法是:
void strcpy(char *ch1,const char *ch2){ while(*ch2 != '\0')
{ *ch1 ++ = *ch2 ++; // 这样拆开来写后,易读性强一些~~ }}
如果考虑ch1,ch2的安全性,提前要判断这两个指针是否为空,则可以这么写
- char *my_strcpy(char *dst,const char *src)
- {
- assert(dst != NULL);
- assert(src != NULL);
- char *ret = dst;
- while((* dst++ = * src++) != '\0')
- ;
- return ret;
- }
注:
1,检查指针有效性;
2,返回目的指针des;
3,源字符串的末尾 '\0' 需要拷贝。
************************************************************************************************************************************************************
关于该函数,也可以返回实际拷贝的字符个数,
如:
int strcpy(char *ch1,const char *ch2)
{
int flag=0;
while(*ch2 != '\0')
{
*ch1 ++ = *ch2 ++; // 这样拆开来写后,易读性强一些~~
flag++;
}
return flag;
}
{
int flag=0;
while(*ch2 != '\0')
{
*ch1 ++ = *ch2 ++; // 这样拆开来写后,易读性强一些~~
flag++;
}
return flag;
}
************************************************************************************************************************************************************
while(*ch2 != '\0')
{
*ch1 ++ = *ch2 ++; // 这样拆开来写后,易读性强一些~~
flag++;
}
{
*ch1 ++ = *ch2 ++; // 这样拆开来写后,易读性强一些~~
flag++;
}
循环里的内容,其实可以进一步拆分
例如,
while(*Src!='\0')
{
*Dest=*Src;
Dest++;
Src++;
}
{
*Dest=*Src;
Dest++;
Src++;
}
0 0
- strcpy函数的实现
- strcpy函数的实现
- strcpy函数的实现
- strcpy函数的实现
- strcpy函数的实现
- strcpy函数的实现
- strcpy函数的实现
- strcpy函数的实现
- strcpy函数的实现
- strcpy函数的实现
- strcpy函数的实现
- strcpy函数的实现
- strcpy函数的实现
- strcpy函数的实现
- strcpy函数的实现
- strcpy函数的实现
- strcpy函数的实现
- strcpy函数的实现
- 收藏的Android非常好用的组件或者框架
- gethostname
- Android适配
- 一淘搜索之网页抓取系统分析与实现(1)—redis使用
- POJ 题目1007 DNA Sorting (水题 排序)
- strcpy函数的实现
- TCP流量控制和拥塞控制
- Spring简单属性注入和集合属性注入
- 关于typedef的用法总结
- NYOJ----366D的小L
- hdu 4704 费马小定理+快速幂
- 向目标窗口发送字符串消息
- freeswitch中IVR的menu设置中使用phrase
- 怎样把pdf转换成excel转换器