【发布时间】:2019-02-23 06:02:29
【问题描述】:
我必须编写一个加密/解密 C 程序并开始它需要 6 个 CL 参数。这对我来说通常很好,但这次参数顺序无关紧要。标志也总是匹配参数类型。例如。 -t 将始终位于 csv 文件之前。
例如,以下都是运行程序的等效方式,并且会产生相同的行为:
./encrypt -t mappingfile.csv -m 1 -i words.txt
./encrypt -m 2 -i words.txt -t mappingfile.csv
./encrypt -m 1 -i words_to_encrypt.txt -t mappingfile.csv
我不确定如何检查这个,任何信息都有帮助!谢谢!
【问题讨论】:
-
查找
getopt函数。 -
首先你使用
int main( int argc, char* argv[ ] )而不是int main( void )作为你的main函数。这里,argc是参数的数量,argv是字符串数组 (char*s.) -
正如@dbush 所说,getopt 完全符合您的要求。
-
char* argv[]是指向字符的数组,而不是字符串数组。 -
我见过 getopt 函数,虽然大多数例子都是用它来检测不同的参数,而不是检测它们的顺序。我想这就是我困惑的地方。