我想我从来没有学过这个。我以前从未这样做过。我见过使用strcat(S1, S2)
,但这不适用于此,是吗?
我可以做点什么吗
string all_possible_strings[10];
char jumbled_chars[] = "ABCDEFG";
all_possible_strings[1] = jumbled_chars[0] << jumbled_chars[1]
<< jumbled_chars[2] << jumbled_chars[3]
<< jumbled_chars[4];
我正在尝试做的是制作一个程序,可以将一个单词解读为所有可能的排列。
答案 0 :(得分:7)
#include <iostream>
#include <string>
using namespace std;
int main()
{
string theString = "";
char a = 'a';
char b = 'b';
const char* c = "cdefghijklmnopqrstuvwxyz";
theString += a;
theString += b;
theString += c;
cout << theString;
return 0;
}
打印出整个字母表。
答案 1 :(得分:1)
使用append
函数或operator+=
的{{1}}重载。您应该阅读STL documentation。
如果std::string
已经按照您想要的顺序排列,那么您可以构建类似
jumbled_chars
<强>更新强>
好的,这里有一些建议。不要将字符串存储在数组中,而是使用all_possible_strings[counter] = std::string(jumbled_chars, 5);
代替。
std::vector
我将留下确切地知道如何将字符串的所有排列作为读者的练习。但是,您希望按std::vector<std::string> possible_strings;
std::string jumbled_chars; //This could be a char[] or char* or whatever
,jumbled_chars
,w
,x
的顺序获取y
,其中z
是{{1}的索引1}}:
w-z