C 我可以将命令行参数读取为二进制吗?
是否可以将命令行参数读取为二进制数?如果是,如何进行 例如:。,C 我可以将命令行参数读取为二进制吗?,c,command-line,flags,C,Command Line,Flags,是否可以将命令行参数读取为二进制数?如果是,如何进行 例如:。, /a-v 10010110 此选项允许用户从12个寄存器中选择要使用的寄存器。我希望用户通过需要读取的寄存器传递一个16位二进制数,使用标志1,否则使用平面0 这就是我的想法。如果这不是一个好主意,我如何在不混淆用户的情况下完成它?在命令行上传递的值是字符串。在程序内部,您可以选择任何方式处理字符串 如果您需要从0..15(或1..16)集合中获取一个位,最好获取该位的十进制数,而不是强制用户进行计数。您只需使用argv[2]或任
/a-v 10010110
此选项允许用户从12个寄存器中选择要使用的寄存器。我希望用户通过需要读取的寄存器传递一个16位二进制数,使用标志1
,否则使用平面0
这就是我的想法。如果这不是一个好主意,我如何在不混淆用户的情况下完成它?在命令行上传递的值是字符串。在程序内部,您可以选择任何方式处理字符串
如果您需要从0..15(或1..16)集合中获取一个位,最好获取该位的十进制数,而不是强制用户进行计数。您只需使用
argv[2]
或任何包含数字的索引,使用atoi()
或strtol()
等函数将其转换为数字bitnum
(错误检查负值或大值的值),然后使用1U命令行上传递的值是字符串。在程序内部,您可以选择任何方式处理字符串
如果您需要从0..15(或1..16)集合中获取一个位,最好获取该位的十进制数,而不是强制用户进行计数。您只需使用argv[2]
或任何包含数字的索引,使用atoi()
或strtol()
等函数将其转换为一个数字bitnum
(错误检查负值或大值的值),然后使用1U命令行参数作为字符串传递给您的程序。在程序的参数解析部分,需要将字符串“10010110”转换为二进制表示形式。这是一个好主意,您可以传递任何您想要的命令行参数。只需在“帮助”菜单/文档中明确说明您的程序需要哪些类型的输入及其格式即可。另一种方法是,用户传递一个数字列表,如2 3 5 8
,而不是尝试设置正确的位。我更喜欢写12
,而不是10000000000
:-)命令行参数作为字符串传递给程序。在程序的参数解析部分,需要将字符串“10010110”转换为二进制表示形式。这是一个好主意,您可以传递任何您想要的命令行参数。只需在“帮助”菜单/文档中明确说明您的程序需要哪些类型的输入及其格式即可。另一种方法是,用户传递一个数字列表,如2 3 5 8
,而不是尝试设置正确的位。我更喜欢写12
,而不是10000000000
:-)