Для С++ строка - цепочка символов (массив), заканчивающаяся нулем. Можно заморочится с substr и replace, но... Делаем проще - объявляем строку приемник. Далее в цикле от начала до конца строки (тут или for от 0 до Length(Source)-1, или в while или Repeat с проверкой следующего за текущим символа на #0) проверяем символы строки и если символ не равен пробелу, тупо добавляем его в приемник. Если же символ равен пробелу, то проверяем следующий за ним символ. Если следующий не равен пробелу, то добавляем, а вот если равен, то уходим на следующий круг цикла без добавления. Все.