Почему не работает пробел?

Если написать текст допустим это The quick brown fox jumps over the lazy dog, то в переводе с языка морзе я получаю THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG без пробелов. Как это исправить?

 #include <iostream>
#include <map>
#include <string>

std::string translateToMorse(char c);
std::string stringToMorse(const std::string& str);

void main() {
    setlocale(LC_ALL, "Ru");
    std::string input;

    std::cout << "Введите строку: ";
    std::getline(std::cin, input);

    std::string morse = stringToMorse(input);

    std::cout << "Перевод на код Морзе: ";
    std::cout << morse << std::endl;
}

std::string translateToMorse(char c) {

    std::map<char, std::string> morseAlphabet = {
        {'A', ".-"}, {'B', "-..."}, {'C', "-.-."}, {'D', "-.."}, {'E', "."},
        {'F', "..-."}, {'G', "--."}, {'H', "...."}, {'I', ".."}, {'J', ".---"},
        {'K', "-.-"}, {'L', ".-.."}, {'M', "--"}, {'N', "-."}, {'O', "---"},
        {'P', ".--."}, {'Q', "--.-"}, {'R', ".-."}, {'S', "..."}, {'T', "-"},
        {'U', "..-"}, {'V', "...-"}, {'W', ".--"}, {'X', "-..-"}, {'Y', "-.--"},
        {'Z', "--.."}, {' ', " "}
    };

    auto it = morseAlphabet.find(toupper(c));
    if (it != morseAlphabet.end()) {
        return it->second;
    }
    return "";
}

std::string stringToMorse(const std::string& str) {
    std::string morseString;
    for (char c : str) {
        std::string morseChar = translateToMorse(c);
        if (morseChar != "") {
            morseString += morseChar + " ";
        }
    }
    return morseString;
}

Ответы (0 шт):