首页 > 解决方案 > 文本文件中间的 EOF 符号

问题描述

我正在尝试读取包含 CAN 消息的文件。有时,消息之间存在“垃圾”,如下所示:

171250 0cfe6cee ff ff ff ff ff ff 00 00
171750 0cfe6cee ff ff ff ff ff ff 00 00
172250 0cfe6cee ff ff ff ff ff ff 00 00
172750 0cfe6cee ff ff ff ff ff ff 00 00
173250 0cfe6cee ff ff ff ff ff ff 00 00›}¯!›}¯"›}¯#›}¯$›}¯%›}¯&›}¯'›}¯(›}¯)›}¯*›}¯+›}¯,›}¯-›}¯.›}¯/›}¯0›}¯1›}¯2›}¯3›}¯4›}¯5›}¯6›}¯7›}¯8›}¯9›}¯:›}¯;›}¯<›}¯=›}¯>›}¯?›}¯@›}¯A›}¯B›}¯C›}¯D›}¯E›}¯F›}¯G›}¯H›}¯I›}¯J›}¯K›}¯L›}¯M›}¯N›}¯O›}¯P›}¯Q›}¯R›}¯S›}¯T›}¯U›}¯V›}¯W›}¯X›}¯Y›}¯Z›}¯[›}¯\›}¯]›}¯^›}¯_›}¯`›}¯a›}¯b›}¯c›}¯d›}¯e›}¯f›}¯g›}¯h›}¯i›}¯j›}¯k›}¯l›}¯m›}¯n›}¯o›}¯p›}¯q›}¯r›}¯s›}¯t›}¯u›}¯v›}¯w›}¯x›}¯y›}¯z›}¯{›}¯|›}¯}›}¯~›}¯›}¯€›}¯›}¯‚›}¯ƒ›}¯„›}¯…›}¯†›}¯‡›}¯ˆ›}¯‰›}¯Š137550 0cfe6cee ff ff ff ff ff ff 00 00
137554 18ff9f1e da 92 64 64 47 89 16 f3
137958 18fed927 3b dd 5e 00 ff ff ff ff
137960 18fec1ee 2d 88 32 00 ff ff ff ff
154599 0cfe6cee ff ff ff ff ff ff 00 00

只要垃圾只是一些迹象,就不会引起任何问题:我已经以识别非 CAN 消息并跳过这些行的方式制作了软件。但问题是,有时在垃圾中存在 EOF……例如,不能强制函数“getline”读取超出该 EOF 符号的内容。

除了错误的 EOF,我如何继续阅读我的文件?

翻动

标签: c++ceofgetline

解决方案


推荐阅读