比如原来是“abcdefghi”如果n=2,移位后应该是“hiabcdefgh”
void loopmove ( char *pstr, int steps )
{
int n = strlen( pstr ) - steps;
char tmp[max_len];
memncpy( tmp, pstr + n, steps );
memncpy(pstr + steps, pstr, n );
memncpy(pstr, tmp, steps );
}
#include<stdio.h>
#include<string.h>
void changeshr(char * str,int n)
{
int length = strlen(str);
char tmp[length+1];
strcpy(tmp,str+length-n);
strcpy(tmp+n,str);
tmp[length+1]='\0';
strcpy(str,tmp);
}
int main(void)
{
char str[30] ="We have seen so much,wo have gone so long";
changeshr(str,10);
printf("str:%s\n",str);
return 0;
}
网友评论