Добавление значений, возвращаемых функцией, в массив в C

#c #arrays

Вопрос:

Выход:

кола

кола

3

Я хочу, чтобы эти значения хранились в массиве. Пожалуйста, объясните мне, как это сделать!

ТИА

Это и есть код:

 
int cola(string str)
{
    // word variable to store word
    string word;

    // making a string stream
    stringstream iss(str);

    // Read and print each word.
    while (iss >> word)
        {cout << word << endl;}}

// Driver code
int main()
{
    string s = "cola coke 3";
    cola(s);
    return 0;
}

 

Комментарии:

1. Сделайте a std::vector<std::string> и используйте push_back , чтобы добавить к нему строки.

2. Не могли бы вы поподробнее, пожалуйста. Я новичок в этом деле.

3. Вот так: onlinegdb.com/GxuisXCPM

Ответ №1:

Это то, что вы ищете:

 using std::string;

std::vector<string> cola(const stringamp; str)
{
    // word variable to store word
    string word;

    // making a string stream
    stringstream iss(str);

    // vector containing words
    std::vector<string> temp;

    // Read and print each word.
    while (iss >> word)
        temp.push_back(word);

    return std::move(temp);
}
// Driver code
int main()
{
    string s = "cola coke 3";
    std::vector<string> array = cola(s);
    return 0;
}