【问题标题】:using an istream_iterator to read in a vector of structs from keyboard?使用 istream_iterator 从键盘读取结构向量?
【发布时间】:2010-11-29 02:59:13
【问题描述】:

是否可以使用istream_iterator<customstruct> 通过从人类的标准输入中读取来插入向量?该结构中包含多种数据类型。

这样做是否有意义,或者单独提示每条数据是否是更好的方法?我问这个只是因为我被要求这样做,但不认为这是可能的/不实际的。

【问题讨论】:

    标签: c++ vector iostream


    【解决方案1】:

    如果“operator >>”重载,istream_iterator 可以读取任何内容,并且它是可复制和可分配的。

    虽然有可能,但我认为这不是一种好的阅读方式,因为用户必须手动键入 EOF 序列才能使迭代器结束。

    为了避免使用EOF,你可以让用户输入多条记录,但是大多数人在输入之前不太可能知道记录的数量。

    更好的选择可能是逐行读取并使用字符串流来获取数据。通过这种方式,您可以将一些预定义的模式(如空行)识别为输入的结尾,然后再将它们作为数据发送到 stringstream。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-10
      • 1970-01-01
      • 2023-04-09
      • 2013-05-06
      • 2012-08-15
      • 2015-04-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多