【发布时间】:2018-03-22 16:21:15
【问题描述】:
是否可以将命令行参数读取为二进制数?如果是,如何?
例如,
./a -v 10010110
此选项允许用户从 12 个寄存器中选择要使用的寄存器。我希望用户传递一个 16 位二进制数,需要使用标志 1 读取寄存器,否则使用平面 0。
这是我的想法。如果这不是一个好主意,我怎样才能在不混淆用户的情况下完成它?
【问题讨论】:
-
命令行参数作为字符串传递给您的程序。您需要在程序的参数解析部分将字符串“10010110”转换为二进制表示。这是一个好主意,你可以传递任何你想要的命令行参数。只需在帮助菜单/文档中明确说明您的程序需要什么样的输入以及它们的格式应该是什么。
-
另一种方法是用户传递一个数字列表,例如
2 3 5 8,而不是尝试设置正确的位。我更希望写12而不是100000000000。 :-)
标签: c command-line flags