如何将多个字符放入一个字符串中

时间:2011-11-23 23:30:46

标签: c++ string char

我想我从来没有学过这个。我以前从未这样做过。我见过使用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];

我正在尝试做的是制作一个程序,可以将一个单词解读为所有可能的排列。

2 个答案:

答案 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_charswx的顺序获取y,其中z是{{1}的索引1}}:

w-z