c语言字符串操作函数 strcpy, strncpy, memcpy, memset, strcat, strlen ...

c语言字符串操作函数 strcpy, strncpy, memcpy, memset, strcat, strlen ...

ID:1771653

大小:33.22 KB

页数:8页

时间:2017-11-13

c语言字符串操作函数 strcpy, strncpy, memcpy, memset, strcat, strlen ..._第1页
c语言字符串操作函数 strcpy, strncpy, memcpy, memset, strcat, strlen ..._第2页
c语言字符串操作函数 strcpy, strncpy, memcpy, memset, strcat, strlen ..._第3页
c语言字符串操作函数 strcpy, strncpy, memcpy, memset, strcat, strlen ..._第4页
c语言字符串操作函数 strcpy, strncpy, memcpy, memset, strcat, strlen ..._第5页
资源描述:

《c语言字符串操作函数 strcpy, strncpy, memcpy, memset, strcat, strlen ...》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实现C/C++中的字符串操作函数是很练内功的,别看着这些函数很简单,自己实现起来,还是有许多地方需要考虑的,所以没独立写过的朋友,可以自己敲敲看. --ByCrazybabystrcpy:[cpp]viewplaincopyprint?1.char* cb_strcpy(char* dst, const char* src) {  2.       3.     assert((dst!=NULL) && (src!=NULL));  4.       5.     char* retAddr = dst;       /**< re

2、tAddr is in static , char retAddr[] will in Stack, So... */  6.     while ((*(dst++) = *(src++))!='') {   7.          ;  8.     }  9.       10.     return retAddr;  11.}  char*cb_strcpy(char*dst,constchar*src){assert((dst!=NULL)&&(src!=NULL));char*retAddr=dst;/**

3、ddrisinstatic,charretAddr[]willinStack,So...*/while((*(dst++)=*(src++))!=''){;}returnretAddr;}strncpy:[cpp]viewplaincopyprint?1.char* cb_strncpy(char* dst, const char* src, size_t size) {  2.       3.     assert((dst!=NULL) && (src!=NULL));  4.       5.     char* retA

4、ddr = dst;       /**< retAddr is in static , char retAddr[] will in Stack, So... */  6.     int i = 0;   7.     while (((*(dst++) = *(src++))!='') && ((i++) < size)) {   8.          ;  9.     }  10.       11.     *(retAddr+size)='';      /**< cut off String  */  12.

5、       13.     return retAddr;  14.}  char*cb_strncpy(char*dst,constchar*src,size_tsize){assert((dst!=NULL)&&(src!=NULL));char*retAddr=dst;/**

6、';/**

7、rncpy(a,"Hello",28);//a除了有Hello,之后会有23个repeat''.这样会有效率的问题.charb[30];cb_strncpy(b,"Hello",28);//而只有Hello''CB: strncpy相对于strcpy来说,安全性提高了一个等级.另外一个要非常注意的地方那个是strcpy和strncpy都会遇到''结束.        另外:当请求的目标地址空间比源字符串空间要小的时候,strncpy将不再用””来结束字符串。这是一个巨大的隐患,所以还是不安全memcpyVersion1

8、:[cpp]viewplaincopyprint?1.char* cb_memcpyVer1(char* dst, const char* src, size_t size) {  2.       3.     ass

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。