为什么我的代码只输出部分输入字符串?

时间:2013-10-13 22:40:37

标签: c++ string printing

谢谢你的阅读。我是一个入门编程课程的新程序员,我只有一个月的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;
}

请告诉我为什么这段代码只打印一段输入字符串?谢谢!!

1 个答案:

答案 0 :(得分:3)

替换:

cin >> x;

使用:

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

因为格式化输入在空格处停止。