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

问题描述

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

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

这是我当前拥有的代码

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']

解决方法

答案:

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

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

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

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