读取输入文件(C ++)时忽略剩余的换行符和空格

时间:2020-08-27 00:53:19

标签: c++ input output whitespace

我有一个读取文本文件作为输入并将数据存储在向量中的功能。

只要文本文件不包含任何额外的新行或空白,它就会起作用。

这是我当前拥有的代码:

with open(yaml_file_path, 'r') as stream:
    yaml_object = yaml.load(stream,
                       Loader=yamlordereddictloader.Loader)

例如:

safe mace
bait mate

以上内容用作输入文本文件。

这不起作用:

safe mace
bait mate


一旦到达文件中的最后一个字符,是否有任何方法可以停止流,同时仍然通过单词之间的空格保持分隔,以便将它们添加到矢量,堆栈之类的东西中?

即向量将包含['safe','mace','bait','mate']

1 个答案:

答案 0 :(得分:0)

答案:

问题来自两个流,一个流使用!dataStream.eof(),另一个流使用dataStream >> pushThis

已修复,因此两者都使用dataStream >> pushThis

供我自己和其他可能会发现此问题的人参考:

除非您要获取文件的结尾位(包括空格),否则请不要使用eof()