Cout will not print my string
<p>Near the bottom after calling permute my program is supposed to print the city names that have been added to my print city string, but its only printing out blanks.</p>

<p>as hard as this program was to make I didn't expect my print function to give me the most annoying issue.</p>

<pre><code>    int main()
    {
    string cities;
    string printCity = "";
    string line;
    char command = 0;
    unsigned city = 0;
    while (getline(cin, line))
    {
        sscanf(line.c_str(), "%c %d", &amp;command, &amp;city);
        if (command != 'c')
            break;
        cities.push_back((unsigned char)city);
        printCity +=(city);
    }

    gFirstCity = cities[0];

    unsigned to = 0;
    unsigned from = 0;
    uint32_t cost = 0;

    sscanf(line.c_str(), "%c %d %d %d", &amp;command, &amp;to, &amp;from, &amp;cost);
    graph[to][from]=cost;
    graph[from][to]=cost;


    while (getline(cin, line))
    {
        sscanf(line.c_str(), "%c %d %d %d", &amp;command, &amp;to, &amp;from, &amp;cost);
        graph[to][from]=cost;
        graph[from][to]=cost;
    }


    permute((char*)cities.c_str()+1, 0, cities.length()-1);
    cout &lt;&lt; "Minimum cost for the tour: ";
    cout &lt;&lt; printCity;

    cout &lt;&lt; " is: "&lt;&lt; minTour &lt;&lt; endl;

    return EXIT_SUCCESS;



}
</code></pre>