资源描述:
《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;/**