Почему мой код выводит только часть входной строки?

0

Спасибо за чтение. Я - новый программист во вводном классе программирования, и у меня есть только месяц на обучение в C++. Я попытался исправить этот код многими подходами, но я не знаю, почему он печатает только одно слово моей строки ввода:

 #include <iostream>
#include <cstdlib>
#include <string>
using namespace std;

void printThetxt(string);
string inputText(string);
    int main() {
        string x;
        printThetxt(inputText(x));
        system("pause");
            return 0;
}
void printThetxt(string y) {
    cout << y << endl;
}
string inputText(string x) {
cout << "Type in your string: " << endl;
    cin >> x;
    return x;
}

Скажите, пожалуйста, почему этот код печатает только одну часть строки ввода? Спасибо!!

Теги:
string
printing

1 ответ

3
Лучший ответ

Заменить:

cin >> x;

с:

std::getline(std::cin, x);

потому что форматированный вход останавливается в пробеле.

  • 0
    Genius. Огромное спасибо!!!!!!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню