方法1每次移动1位移动n次
方法2直接移动内存中的数据
如果有其他方法请赐教
#include <string.h>
using namespace std;
//方法 1
//void fun1(char* str,int length)
//{
// char a=str[0];
// for(int index=0;index<length;index++)
// {
// if(index<length-1)
// {
// str[index]=str[index+1];
// }
// else
// {
// str[length-1]=a;
// break;
// }
//
// }
//}
//void fun(char* str,int n,int length)
//{
//
//
// for(int index=0;index<n;index++)
// {
// fun1(str,length);
//
// }
//}
//方法2
//void fun(char* str,int n,int length)
//{
// char a[n];
// char b[length-n];
//
// memcpy(a,str,n);
//
// memcpy(b,&str[n],length-n);
//
//
// memcpy(str,b,length-n);
//
//
// memcpy(&str[length-n],a,n);
//
//}
int main()
{
char str[]="abcdefg";
fun(str,2,7);
for(int index=0;index<7;index++)
{
cout<<str[index];
}
return 0;
}