【问题标题】:Why my code only outputs part of the input string?为什么我的代码只输出输入字符串的一部分?
【发布时间】:2013-10-13 22:40:36
【问题描述】:

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

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

【问题讨论】:

  • 因为operator &gt;&gt; 只读取到一个空格。
  • 您当然可以更好地提出这个问题......“部分”? :)
  • 那我该如何解决呢?谢谢你的帮助!!
  • 你想读一行吗?
  • 我希望它输出我输入的内容。我想创建两个单独的函数:一个用于输入,另一个用于输出。

标签: c++ string printing


【解决方案1】:

替换:

cin >> x;

与:

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

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

【讨论】:

    猜你喜欢
    • 2023-04-08
    • 2021-09-07
    • 1970-01-01
    • 2022-11-13
    • 1970-01-01
    • 1970-01-01
    • 2021-10-28
    • 2020-08-21
    • 1970-01-01
    相关资源
    最近更新 更多