/将字符串循环向右移动n个字符
#include<iostream>
#include<string>
using namespace std;
const int N=100;
void LoopMoveStr(char *Str,int n)
{
char temp[N];
int width=strlen(Str)-n;
strcpy(temp,Str+width);//将后面的复制出来
strcpy(temp+n,Str);//全部的复制上去
*(temp+strlen(Str))='\0';//到固定长度后写个结尾符
strcpy(Str,temp);
}
int main(void)
{
char str[N]="I'm chinese!";//要和函数里面的char数组一致
cout<<str<<endl;
cout<<"Move number of char:"<<endl;
int num;
cin>>num;
LoopMoveStr(str,num);
cout<<"After move:"<<endl<<str<<endl;
return 0;
}
#include<iostream>
#include<string>
using namespace std;
const int N=100;
void LoopMoveStr(char *Str,int n)
{
char temp[N];
int width=strlen(Str)-n;
strcpy(temp,Str+width);//将后面的复制出来
strcpy(temp+n,Str);//全部的复制上去
*(temp+strlen(Str))='\0';//到固定长度后写个结尾符
strcpy(Str,temp);
}
int main(void)
{
char str[N]="I'm chinese!";//要和函数里面的char数组一致
cout<<str<<endl;
cout<<"Move number of char:"<<endl;
int num;
cin>>num;
LoopMoveStr(str,num);
cout<<"After move:"<<endl<<str<<endl;
return 0;
}