【发布时间】:2020-04-06 16:47:31
【问题描述】:
所以我试图读入这个文件,但我遇到了麻烦,因为我必须将它们读入一个数组。
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,但我确定这只是一个小错误,它消失了。
【问题讨论】:
-
你尝试过一些实现吗?你有密码吗?
-
将每一行读入一个字符串。将每个字符串放入
stringstream,然后尝试从字符串流中读取 3 个字符串。检查每个读取是否成功。如果只有 2 个成功,那么您知道没有第三个值。您可以使用三个字符串创建一个简单的struct,例如struct operation { std::string command {}, arg1 {}, arg2 {}; };并创建一个std::vector。 -
我建议将二进制数字作为字符串读取。
-
您可以将所有有效的命令名称放入
std::vector或std::set。在容器中搜索输入分机。如果未找到输入文本,则说明您的命令无效。 -
把代码,你的minimal reproducible example,放在问题中。不要链接到外部网站。不是每个人都能读到,外部网站可能会消失,然后这个问题对于来这里寻求类似帮助的其他人来说毫无用处。请注意,您应该从最小示例中删除未使用的变量和函数。无需在示例中乱扔未使用的东西。这只会让帮助变得更加困难。