跳过可选的scanf参数

时间:2017-04-13 16:53:00

标签: c scanf

我正在上课。 它是关于基数转换器的。它的工作方式如下:convert 11010 2 16其中11010是要转换的数字,2是原始基数,16是目标基数。< / p>

但我也希望代替输入号码,-h等附加选项以获取帮助等。 如果是这样,我希望忽略输入的基数输入(即216将被跳过)。

C可以吗?

1 个答案:

答案 0 :(得分:0)

当呈现某些选项时,忽略一些输入参数是相当常见的,当然可行。在之前解析所有输入参数,你可以对它们做任何事情。首先检查您最重要的选项(在您的情况下,“-h”)。如果它被给予,采取行动并忽略其他人甚至存在。为程序指定“help”参数通常只是printf的一个文本块,然后立即退出。

如果您正在使用命令行参数,这就像迭代argv一样简单。如果您从控制台获得输入,那么您需要一次读取和处理输入一个字符(getchar加上状态机),或者将整行读作一个字符串并将其解析为一系列单独的参数(基本上是重新发明argv)。