用C++实现strcpy(),返回一个char*类型的深入分析

时间:2022-01-30 06:50:30

代码如下所示:

复制代码 代码如下:


#include "stdafx.h"
#include <string>
#include <iostream>
using namespace std;
char* strcpy(char *src_str, char *dest_str)
{
 char* dest = dest_str;
 if ((src_str == NULL)||(dest_str == NULL))  //检查指针有效性
 {
  throw "Invalid argument(s)";   //抛出异常
 }
 while((*dest_str++ = *src_str++) != '\0')  //实现复制,包括末尾的‘/0'也复制了
 {
  NULL;
 }
 return dest;
}

 

复制代码 代码如下:


int _tmain(int argc, _TCHAR* argv[])
{
 char src[] = "Hello,world!";
 char des[13] = {0};
 strcpy(src, des);
 cout << des << endl;
 return 0;
}