指定字符串长度的复制
2015-03-21 14:21
183 查看
#include<stdio.h> #include<string.h> #include<stdlib.h> void *memcpy(void *dest,void const *scr,size_t length) { char *ret=(char*)dest; char *src=(char*)scr; int flag=0; int n=length; while(length) { if(ret==src+1) { if(flag==0) { while(length) { src[length]=src[length-1]; length--; } length=n; flag=1; } while(length--) { *ret++=*(++src); } *ret='\0'; return dest; } else { *ret++=*src++; } length--; } *ret='\0'; return dest; } void main() { char scr[]="abcdefgh"; char dest[10]={0}; // char *ret=(char*)memcpy(dest,scr,4); char *ret=(char*)memcpy(scr+1,scr,4); printf("%s\n",ret); }
<span style="font-family: Arial, Helvetica, sans-serif;">总结:实现char *ret=(char*)memcpy(dest,scr,4)时很简单,但将自身的字符串复制到自身的下一个时就需要好好想一想,即实现char*=(char*)memcpy(scr+1,scr,4)</span>
相关文章推荐
- WinAPI 字符及字符串函数(11): lstrcpyn - 复制字符串, 同时指定要复制的长度
- 字符串的一些基本操作,复制,长度,子串查找,单词反转,比较,字符串反转,删除指定字符。
- C#截取指定长度中英文字符串方法
- 自动截取指定长度的字符串
- 在C#中取得指定长度的字符串
- 填充指定字符串的每一节到指定长度,不够的在左恻用0补足,并将分隔符"-"去除,可用于排序的函数
- PHP - Manual手册 - CLXI. String 字符串处理函数 - str_pad使用另一个字符串将一个字符串填充到指定长度
- C#截取指定长度中英文字符串方法
- 在C#中取得指定长度的字符串
- 一个C#中截取指定长度字符串的方法(含盖半全角问题)
- 在C#中取得指定长度的字符串
- 用C#截取指定长度的中英文混合字符串(转)
- 用C#截取指定长度的中英文混合字符串
- 在C#中截取指定长度的中文字符串.
- 用C#截取指定长度的中英文混合字符串的最终算法
- 一个C#中截取指定长度字符串的方法(含盖半全角问题)
- C#截取指定长度中英文字符串方法 (收藏)
- C#截取指定长度中英文字符串方法
- C#截取指定长度中英文字符串方法
- 用C#截取指定长度的中英文混合字符串的最终算法