[英]How to get the arguments with the spaces from command line in C without garbage
[英]Parsing command line arguments in c without spaces
我有一个使用while循环解析命令行参数的程序。 简而言之,在遍历argc的长度时,如果参数匹配标志,则下一个参数被视为变量。 现在,在我的作业中,我们被要求以标志和整数参数之间的空格为可选的方式来执行此操作。
例如,如果我输入-k1,则它与-k 1相同,并且1是存储的值。 我找不到任何允许这样做的东西。 我唯一能想到的是,如果argc是偶数,则意味着在一组参数之间没有pal,我可以使用scanf(“-k%d”,key)。
对我有帮助吗?
在与POSIX兼容的操作系统上,您可以使用一个标准的API: man getopt
。 它将完成所有肮脏的工作来解析参数,并为您提供一个方便的界面来处理。
这是一个很好的示例: http : //www.gnu.org/software/libc/manual/html_node/Example-of-Getopt.html#Example-of-Getopt
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.