如何解析不同类型的参数?

时间:2015-04-14 12:39:12

标签: c terminal command-line-arguments getopt

我的程序需要支持通过终端获取这些参数:

  • -stdin后跟随机数量
  • 其他长类型的选项后跟一个数字或没有
  • 文件
  • 网站

我遇到的问题是,尽管getopt适用于前两种情况,但它似乎不适用于文件和网站,因为它们不会以" - "开头。有没有办法让它工作或者我必须通过for循环和某种模式匹配来完成* argv []?

2 个答案:

答案 0 :(得分:0)

的论据
int main( int argc, char * argv[] )

您可以浏览argv中的每个字符串,并以您需要的任何方式解析它。

我不相信有更有说服力的解决方案

答案 1 :(得分:0)

第一个解决方案可以解析argv输入字符串,与程序逻辑需要的方式相对应。另一方面,您可能希望使用更优雅的方式来处理您要搜索的任何模式。此时,正则表达是您的朋友。您可以在源代码中加入regex.h并深入了解regexp的奇迹世界。

检查出来:Regular Expression in C