【问题标题】:Reading whitespace with getline() doesn't work用 getline() 读取空格不起作用
【发布时间】:2015-09-21 18:42:45
【问题描述】:
#include <iostream>
#include <stdlib.h>

using namespace std;

class sheet
{
    public:
        void setname();
        string getname();
    private:
        string name;
};

void sheet::setname()
{
        cout << ">" ;
        getline(cin,name);
        return ;
}

所以我有这样的代码^。在我的主要功能中

sheet Personel;
Personel.setname();

但是当我运行我的代码时,它会打印 '>' 但 getline 不起作用。谁能帮帮我?

【问题讨论】:

  • 仅仅说“不起作用”并不是一个有用的问题描述。你期望会发生什么?会发生什么?
  • 通常有一个名为“setX”的函数将值作为参数,从外部获取。您的 get 函数可以通过 const 引用返回 name,如果它这样做而不修改它。

标签: c++ whitespace getline


【解决方案1】:

啊,我解决了。它之前在 main 中读取了一些剩余的 '\n'。

【讨论】:

  • 使用 cin.ignore() 我相信会得到一个你知道在那里的不需要的字符,或者当你注意到一个问题没有让你回答并直接跳过它时使用它.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-15
  • 1970-01-01
  • 2017-01-19
  • 1970-01-01
  • 2014-06-30
  • 2014-12-25
  • 1970-01-01
相关资源
最近更新 更多