~cpp
#include <iostream>
#include <string>
using namespace std;
void roll( string str, int i );
void main()
{
string str = "abcde";
int i = 3;
roll(str, i);
}
void roll( string str, int i )
{
cout << str << endl;
int n = str.length();
char temp;
for ( int tag = 0 ; tag < n ; tag++ ){
temp = str[tag];
str[tag] = str[i-1];
str[i-1] = temp;
i = i < n ? i+1 : i;
}
cout << str << endl;
}
~cpp
#include<iostream.h>
#include<cstring>
void roll(int i);
char * string="ABCDEFGHIJKLMNOPQRSTUV";
const int SIZE = strlen(string);
void main()
{
roll(4);
}
void roll(int i)
{
char* buffer1 = new char[i];
strncpy(buffer1, string, i);
buffer1[i] = 0;
char *buffer2 = new char[SIZE-i];
strcpy(buffer2,string+i);
cout<<strcat(buffer2,buffer1)<<endl;
}