将字符串的前N个字符平移到字符串的后面

2014-11-24 02:30:42 · 作者: · 浏览: 2
 
/* 
将字符串的前N个字符平移到字符串的后面,用string的特性实现 
*/  
  
#include   
#include   
  
using namespace std;  
  
string func(string str, int N)  
{  
    int len = str.length();  
    if (len==0 || 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;  
}