字符串复制

#include "iostream.h"
#include "assert.h"                             字符复制的原形代码!
char *strcpy(char *d,char *s)               void strcpy(char *d,char *s)
                                                          {
 char *tem;                                                while(*s!="/0")
 assert(d!=NULL&&s!=NULL);                     {*d=*s;
 tem=d;                                                             s++;
 while((*(d++)=*(s++))!='\0')                             d++;
  NULL;                                                          }
 return tem;                                           }
                                                         如果你看不懂ASSERT函数,也可以用这个!
void main()                                        就是说字符串S没有遇到/0就执行下面语句体,把字符S复制给字
                                                     符D,首先也是把字符D复制给TEM,这个我虽然没写,它的位置
 char a[]="hello!";                           和左边的一样就行了,然后在返回TEM就OK了!!!
 char b[]="nihao!!";
 strcpy(b,a);
 cout<<a<<endl;
 cout<<b<<endl;
}
实现功能:将字符串A复制给B,它是函数的调用,主函数调用子函数,子涵数定义为一个指针,*D,*S分别接收S,A的值,ASSERT是的函数,在这里只是用它判断D和S是不是空串,如果是空串,则返回一个错误指令,将不执行程序,如果不是空串将执行下面的语句,把D的地址复制给TEM,然后把字符S的字母一个一个复制给字符D,然后判断字符D和S是不是遇到/0,如果遇到退出WHILE循环,如果没有遇到/0,继续执行语句体,因为不复制功能以实现了,所以不需要其它语句了,又不能不写所以NULL是空的意思!!!
posted @   奇奇博客  阅读(233)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示