How to combine all keys and values from a map into a single string in C++

1 Answer

0 votes
#include <iostream>
#include <map>
#include <string>
#include <sstream>

std::string CombineKeysAndValues(const std::map<std::string, std::string>& dictionary) {
    std::ostringstream combinedString;

    for (const auto& kvp : dictionary) {
        combinedString << kvp.first << "=" << kvp.second << ", ";
    }

    // Remove the trailing comma and space if the string is not empty
    std::string result = combinedString.str();
    if (!result.empty()) {
        result.erase(result.size() - 2); // Remove the last ", "
    }

    return result;
}

int main() {
    std::map<std::string, std::string> dictionary = {
        { "Key1", "Value1" },
        { "Key2", "Value2" },
        { "Key3", "Value3" },
        { "Key4", "Value4" }
    };

    std::string result = CombineKeysAndValues(dictionary);

    std::cout << "Combined keys and values: " << result << std::endl;

    return 0;
}


 
/*
run:
 
Combined keys and values: Key1=Value1, Key2=Value2, Key3=Value3, Key4=Value4
 
*/

 



answered Mar 31 by avibootz
...