如何实现ostream& getline(istream& in,MyString& s,char delim =' \ n')?

时间:2015-03-27 22:43:08

标签: c++ getline istream

我正在编写一个MyString类,我必须使用的其中一个是标题中的istream getline。我在网上找到了几个带有void和只有2个参数的例子,我的书写道你可以使用它,但从不说明如何。我想知道是否有人可以帮助我走上正轨。

istream& getline (istream& in, MyString& s, char delim = '\n')
{
    char ch;
    s.clear();
    while (in.get(ch) && ch != delim)
        {
             s.push_back(ch);
        }
    return in;
}

这就是我所读过的内容,但是我不确定while循环中有什么内容,我看到了push_back但是我们不允许在我们的类中使用它,而是for循环工作吗? 我有这个,但它似乎并不像我的getline,输出是错误的,

  istream& getline (istream& in, MyString& s, char delim ) {

  char temp[256];
  in >> temp;

  return in;
  }

如何让它读取分隔符

0 个答案:

没有答案