/*
将字符串的前N个字符平移到字符串的后面,用string的特性实现
*/
#include <iostream>
#include <string>
using namespace std;
string func(string str, int N)
{
int len = str.length();
if (0==len || N<=0)
return str;
if (N > len)
N = N % len;
string str1;
string str2;
str1.assign(str, 0, N); //将str中前N个字符拷贝到str1中
str2.assign(str, N, len-N); //将str从第N+1个字符开始的len-N个字符赋给当前字符串
str = str2 + str1;
return str;
}
int main()
{
string str = "abcdefgh";
cout << func(str, 6) << endl;
return 0;
}
不采用string特性的实现方式: http://blog.csdn.net/redeagle_gbf/article/details/16880847