重写strcpy
来源:互联网 发布:linux 定时器状态 编辑:程序博客网 时间:2024/05/01 21:36
参考自:一道面试题(strcpy函数写法)
1、原strcpy的使用方法
void main(void){char strA[20], strB[]= { "Knowledge is power!" };strcpy(strA, strB);cout << strA << endl;}实现了将strB的内容复制到了strA中,这样,strA输出的也是strB了。
2、重写strcpy
上代码
#include<iostream>#include<string>using namespace std;char* mStrcpy(char* dest, const char *sour){if ((dest == NULL) || (sour == NULL)){return NULL;//error}char* temp=dest;while ((*dest++ = *sour++) != '\0');return temp;}void main(void){char strA[20], strB[]= { "Knowledge is power!" };mStrcpy(strA, strB);cout << strA << endl;}
1)为什么const char *sour
因为src在函数里是不允许改动的,所以为了保证其不被改动,所以设成的const.
PS:const char *p
2)解释“while ((*dest++ = *sour++) != '\0');”
其实写明显点就是
while ((*dest = *sour) != '\0'){dest++;sour++;}
为什么要(*dest = *sour) != '\0'而不是(*sour) != '\0'呢?因为若只判断*sour是否等于零,则当*sour等于'\0'时循环就结束了,那么最后dest所指向的字符串尾部没有'\0'结尾了。
1 0
- 重写strcpy()
- 重写strcpy
- 重写 strcpy
- 重写strcpy() 函数原型
- 重写strcpy函数
- 重写strcpy() 函数原型
- strcpy()的用法与重写
- 重写strcpy,strcat,strcmp函数
- 重写strcpy函数 char *StrCpy(char *strDest, const char *strSrc)
- 面试题:重写strcpy() 函数原型(转)
- 面试题:重写strcpy() 函数原型
- 重写strcpy 实现字符串的复制
- 常见面试题:重写strcpy() 函数原型
- 面试题:重写strcpy() 函数原型(转)
- C/C++ strcpy()的用法与重写
- 重写string.h中的字符串操作函数--strcpy
- 重写strcpy和最长的数字子串
- 一个重写的strncpy(strcpy和strncpy比较)
- Redis开源代码读书笔记二(源代码及工程结构)
- WEB学习笔记
- JavaBean简介
- iOS涂鸦-自由画笔可以用到的代码
- itextPDF生成PDF
- 重写strcpy
- 成为JavaGC专家(1)
- Mac下valgrind的安装和使用
- IOS异步获取数据并刷新界面dispatch_async的使用方法
- Picasso加载图片
- 给gridview子项设置宽高考虑屏幕适配
- 蓝桥杯 概率计算(DP)
- Android屏幕适配大法
- Java类的反射机制