我正在做一项类作业。
这是关于基数转换器的。其工作方式如下,例如:convert 11010 2 16
,其中11010
是要转换的数字,2
是原始基数, 16
是目标基数。
但我还想要代替输入数字,使用诸如 -h
之类的附加选项来获取帮助等。
如果是这样,我希望基数输入在输入时被忽略(跳过 2
和 16
)。
用C语言可以吗?
最佳答案
在出现某些选项时忽略某些输入参数是相当常见的,而且当然是可行的。在对任何输入参数执行任何操作之前,先解析所有输入参数。首先检查最重要的选项(在您的情况下为“-h
”)。如果给出了,就采取行动,忽略其他人的存在。为程序指定“help”参数通常只是 printf
的一段文本,然后立即退出。
如果您使用命令行参数,这就像迭代 argv
一样简单。如果您从控制台获取输入,那么您需要一次读取和处理输入一个字符(getchar
加上一个状态机),或者将整行作为一个字符串读取,然后将其解析为一组单独的参数(本质上是重新发明argv
)。
关于c - 跳过可选的 scanf 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43397798/