所以一般来说我应该把一些字符串的第一个字符放在这个字符串的末尾。为了简单起见,我们先说两个字符。我试过这样的事情:
char a = mystring.at(0);
char b = mystring.at(1);
mystring.erase(0,1);
mystring.append(a);
mystring.append(b);
这当然会导致从char转换为字符串的错误。但是,我不知道该怎么做,还有其他什么功能可以使用。有什么想法吗?
答案 0 :(得分:3)
您可以使用算法std::rotate
实现此目的:
#include <iostream>
#include <algorithm>
#include <string>
int main() {
std::string s = "ABCDEFGHIJ";
std::rotate(s.begin(), s.begin() + 2, s.end());
std::cout << s << std::endl;
}
输出:
CDEFGHIJAB