我如何在 c++ 中读取此文件 [已关闭]

How would i be able to read this file in c++ [closed]

提问人:Alexrak2 提问时间:4/7/2020 最后编辑:Alexrak2 更新时间:4/7/2020 访问量:57

问:


想改进这个问题吗?通过编辑这篇文章来更新问题,使其仅关注一个问题。

3年前关闭。

所以我试图读取这个文件,但我遇到了麻烦,因为我必须将它们读入数组。

CONVERT  00000000
NOT      00000000
AND      00001111  11110000
OR       00001111  11110000
CONVERT  11111111
IR       11111111  00000000
NOT      11001100
LSHIFT   11001101  3
CONVERT  01011101
AND      10111011  00111000
LSHIFT   11001101  8
OR       10000001  10011001
CONVURT  10101010
LSHIFT   11111111  1

因此,我应该阅读我为其创建枚举列表的命令,并基本上检查哪些是真正的命令,如果没有显示错误的消息。但是我在阅读文件时遇到麻烦,尤其是二进制数?收集此文件夹中信息的最佳方式是什么?我给出的唯一错误是 11db,但我确定这只是一个小错误,它消失了。

[代码]https://pastebin.com/6gaSnvEr

C++ 数组 IOSTREAM

评论

0赞 Landstalker 4/7/2020
你尝试过一些实现吗?你有代码吗?
0赞 David C. Rankin 4/7/2020
将每一行读成一个字符串。将每个字符串放入 a 中,然后尝试从字符串流中读取 3 个字符串。检查每个读取是否成功。如果只有 2 个成功,那么您就知道没有第三个值。您可以创建一个包含三个字符串的简单字符串,例如 并创建其中之一。stringstreamstructstruct operation { std::string command {}, arg1 {}, arg2 {}; };std::vector
0赞 Thomas Matthews 4/7/2020
我建议将二进制数字作为字符串读取。
0赞 Thomas Matthews 4/7/2020
您可以将所有有效的命令名称放入 或 中。在容器中搜索输入 ext。如果未找到输入文本,则命令无效。std::vectorstd::set
0赞 Ted Lyngmo 4/7/2020
将代码,即最小的可重现示例,放在问题中。不要链接到外部网站。不是每个人都能读到这一点,外部网站可能会消失,然后这个问题对于来这里获得类似帮助的其他人来说毫无用处。请注意,您应该从最小示例中删除未使用的变量和函数。没有必要在示例中乱扔未使用的东西。这只会让帮助变得更加困难。

答:

2赞 Raamyy 4/7/2020 #1

我想你可以一行一行地阅读它,安迪用空格分行。' '

因此,您将以字符串的形式获得每个部分,您可以解析或检查它。

也请分享您的代码和您遇到的错误,以便您获得更好的帮助。