1,常见的一道面试题目,给出一个实例.
#include <iostream>
#include <stdexcept>
using namespace std;
char* MyStrcpy(char* des, const char* src)
{
//判断是否自身拷贝
if (des == src)
return des;
//判断是否有空地址
if ((des == NULL) || (src == NULL))
return NULL;
int len_d = strlen(des);
int len_s = strlen(src);
//判断目标空间是否足够
if (len_d < len_s)
throw runtime_error("not enough space.");
while (*src)
*des++ = *src++;
*des = '\0';
return des;
}
int main()
{
char a[]="hello";
char b[]="word";
try
{
//MyStrcpy(b,a);
MyStrcpy(a,b);
cout<<a<<endl;
}catch(runtime_error& err)
{
cout<<err.what()<<endl;
}
return 0;
}
分享到:
相关推荐
C程序_不调用库函数,实现strcpy函数
strcpy,strcmp,strlen,strcat函数的实现过程
C语言程序设计-用函数实现字符串的复制, 不允许用strcpy()函数.c
strstr函数和strcpy函数的简单实现
实现strcpy,strcpy的功能的实现原理
主要包含了strcpy函数和类String的构造函数、析构函数、赋值函数和重载运算符函数等代码实现。
常用函数的实现strcpy,memcpy,memmove,strcat,strcmp原型
本篇文章介绍了,自己实现strcpy函数的实现方法。需要的朋友参考下
我们先来看个例子 char * strcpy(char * strDest,const char * strSrc) { if ((NULL==strDest) || (NULL==strSrc)) throw Invalid argument(s);... 已知strcpy函数的原型是: char * strcpy(c
评析:要使sstrcpy()函数实现字符串复制,必须将t字符串中的每个字符逐个拷到s字符串中,所以可以使用*s=*t;s++;t++。或者可以写成*s++=*t++,本题只有一个空,可以填入*t++。 知识点:知识点/指针/用指针作函数参数
编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不能使用strcpy函数。拷贝时,'\0'也要拷贝过去。 (代码提示:for(i=0;i(s2);i++) s1[i]=s2[i];)
主要介绍了strcpy函数实现简示例命,需要的朋友可以参考下
string.h函数的实现 char *strcpy_1(char *dst,const char *src) { while(*dst++=*src++); return dst; //notice: wrong return!!!! } //this is a fault function // Left it to remind me never ...
自行编写的实现atoi、strcat、strcpy函数的程序,希望对初学者有用
函数实现: 代码如下:/********************** * C语言标准库函数strcpy的一种典型的工业级的最简实现 * 返回值:目标串的地址。 * 对于出现异常的情况ANSI-C99标准并未定义,故由实现者决定返回值,通
自己实现的部分字符串操作函数,基本实现了其功能
。。。
这是一个string基本功能的实现,包括strstr,strcpy等,