关闭

不调用C/C++的字符串库函数,请编写函数strcpy

标签: strcpyc++笔试
2096人阅读 评论(2) 收藏 举报
分类:

已知strcpy函数的原型是

       char *strcpy(char *strDest, const char *strSrc);

       其中strDest是目的字符串,strSrc是源字符串。

(1)不调用C++/C的字符串库函数,请编写函数 strcpy

char *strcpy(char *strDest, const char *strSrc)

{

    assert((NULL!=strDest) && (NULL!=strSrc));    // 2分

    char *address = strDest;                                          // 2分

    while( (*address++ = * strSrc++) != '\0' )         // 2分

              NULL ;

    return strDest;                                                  // 2分

}

首先是断言的使用,我自己习惯了直接用if判断两个是否为空,然后也没有做异常处理。其次是在内部重新定义一个新指针等于strDest,这样当返回strDest的时候,指针不是指向最后一个\0字符了。细节啊,while( (*strDest++ = * strSrc++) != '\0' )这里其实很多人看不出来,把最后的\0也拷贝过来了,这也是必须的。关于NULL!=strDest这个NULL最好放在前面的习惯,这个参考C++编程规范吧,个人习惯。


0
0
查看评论

不使用C/C++字符串库函数,如何自行编写strcpy()函数

strcpy的原型为extern char *strcpy(char *dest,const char *src);它包含在头文件string.h中,它的返回指向dest的指针,其功能是把src所指由NULL结束的字符串复制到dest所指的数组中。 值得注意的是,src和dest所指内存区域不可以...
  • In_Sunshine
  • In_Sunshine
  • 2016-08-15 21:31
  • 482

字符串---不使用库函数,编写函数strcpy

一、问题描述已知strcpy函数的原型是 char *strcpy(char *strDest, const char *strSrc); 其中strDest是目的字符串,strSrc是源字符串。 (1)不调用C++/C的字符串库函数,请编写函数 strcpy (2)strcpy能把strS...
  • will130
  • will130
  • 2015-11-04 20:39
  • 1263

不使用C/C++字符串库函数,如何自行编写strcpy( )函数

不使用C/C++字符串库函数,如何自行编写strcpy( )函数 题目:已知strcpy( )函数原型如下:char* strcpy(char* strDest, const char* strSrc) 1、不调用库函数,实现strcpy函数 2、解释为什么要返回 char* ...
  • YF_Li123
  • YF_Li123
  • 2017-07-10 17:07
  • 412

不调用C/C++的字符串库函数,请编写函数strcpy

不调用C++/C的字符串库函数,请编写函数 strcpy
  • peng314899581
  • peng314899581
  • 2016-07-13 11:31
  • 2096

不调用库函数,实现strcpy函数

题目:      已知strcpy函数的原型是:          char * strcpy(char * str...
  • damenhanter
  • damenhanter
  • 2013-06-16 22:43
  • 376

c++面试题之编写strcpy函数

1. 编写 strcpy 函数 已知 strcpy 函数的原型是 Char *strcpy(char *strDest,const char *strSrc); 其中 strDest 是目的字符串, strSrc 是源字符串。 (1) 不调用 C/C++的字符串库函数,请编写函数 s...
  • lixiaogang_theanswer
  • lixiaogang_theanswer
  • 2017-02-18 20:58
  • 375

不调用库函数,实现自己的strcpy(使用时的注意事项)

#include #include using namespace std; char *strcpy(char *strDest, const char *strSrc) { assert((strDest != NULL) && (strSrc != NULL)); ...
  • u010832643
  • u010832643
  • 2014-03-05 21:41
  • 1087

【C语言】模拟一个strcat函数(不调用库函数)

模拟一个strstr函数 思路: 1.将后一个字符串从上一个字符串的换行符进行复制粘贴 2.利用循环直到粘贴完一个字符串的换行符#include<stdio.h> #include<windows.h> int main() { char* my_strstr...
  • lizhidefengzi
  • lizhidefengzi
  • 2016-11-05 17:26
  • 663

不调用库函数,实现strcpy

转自:http://blog.csdn.net/zzxian/article/details/6364745 这是昨天淘宝一面的题目。       已经忘记当场写的函数是什么样子了,回来后想想写下了这样一段代码。 [cpp]...
  • u010182186
  • u010182186
  • 2016-03-23 17:26
  • 1428

C语言 不使用strcpy 函数实现字符串复制功能

字符串复制是字符串操作中比较常用的操作之一。该函数的功能为:把源字符数组中的字符串复制到目的字符数组 中,字符串结束标志“\0”也一同复制。 源代码:
  • LiuBo_01
  • LiuBo_01
  • 2017-10-16 17:00
  • 805