/* 将字符串的前N个字符平移到字符串的后面,用string的特性实现 */ #include <iostream> #include <string> 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; }