Как я могу взять много символов и положить их в одну строку - PullRequest
1 голос
/ 24 ноября 2011

Полагаю, я просто никогда не учился этому. Я никогда не делал этого раньше. Я видел использование 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 ]

7 голосов
/ 24 ноября 2011
#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 голос
/ 24 ноября 2011

Используйте функцию append или operator+= перегрузку std::string.Вы должны прочитать документацию STL .

Если 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, где w-z - индексы jumbled_chars:

std::string str = "";
str += jumbled_chars[w];
str += jumbled_chars[x];
str += jumbled_chars[y];
str += jumbled_chars[z];

possible_strings.push_back(str);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...