可能重复:
C++ Reverse Array
如何反转字符数组?像这样:
char word1[10] = "this";
char word2[10] = word1[10] // in reverse
cout<<word2; // I want it to output "siht"
答案 0 :(得分:8)
std::string word1 = "this";
std::string word2 = word1;
std::reverse(word2.begin(), word2.end());
std::cout << word2;
答案 1 :(得分:3)
一个简单的循环怎么样(因为我不知道word1
和word2
的确切类型?)
for (int i = 0, k = 9; i < 10; i++, k--) {
word2[k] = word1[i];
}
我强烈建议您使用std::string
代替char
。关于如何使用std::string
来解决这个问题,有很多答案。
答案 2 :(得分:3)
我会冒这样的事情:
word1
word2
复制到std::copy
std::reverse
,word2开始结束现在word2
包含反向,在不知道类型的情况下不能多说。
答案 3 :(得分:2)
使用字符串反转功能执行相同操作。
答案 4 :(得分:0)
如果word1和word2是char数组,那么nope。如果word1和word2是某种容量为10的对象,你可以覆盖赋值运算符。
答案 5 :(得分:0)
int main(int, char**) {
std::string word1 = "beef";
std::string word2(word1.rbegin(), word1.rend());
std::cout << word2;
}
答案 6 :(得分:0)
std::reverse_copy(word1, word1+10, word2);