Tag: 命令行参数

在main中不使用char ** argv访问命令行参数

有没有办法访问命令行参数,而不使用main参数? 我需要在另一个函数中访问它,我宁愿不传入它。 我需要一个只能在Mac OS和Linux上使用GCC的解决方案。

如何将整数作为命令行参数?

我已经阅读了一个getopt()示例,但它没有显示如何接受整数作为参数选项,例如cvalue将在示例的代码中: #include #include #include #include int main (int argc, char **argv) { int aflag = 0; int bflag = 0; char *cvalue = NULL; int index; int c; opterr = 0; while ((c = getopt (argc, argv, “abc:”)) != -1) switch (c) { case ‘a’: aflag = 1; break; case ‘b’: bflag = 1; break; […]

如何在C中解析整数命令行参数?

我希望用户传递两个参数或将其留空。 例如: ./program 50 50 要么 ./program 当我尝试使用int main(int argc, char *argv[]) ,我做的第一件事就是将char *argv[]更改为int *argv[]但它不起作用。 我想要的是用户只需输入0到100之间的两个整数 。 因此,如果它不是两个整数,那么它应该给出一个错误。 我有点想用类型给出错误(就像我以前用C#编程的那样),但无论我输入什么,argv [1]都会一直是’char’类型。 所以我所做的就是 for (int i = 0; i <= 100; i++) { //printf("%d", i); if (argv[1] == i) { argcheck++; printf("1st one %d\n", i); } else if (argv[2] == i) { argcheck++; printf("2nd one %d\n", i); […]

如何正确比较命令行参数?

我正在尝试编写一个在main中接受参数的C代码; 因此,当我在cmd中编写一些字符串时,程序会在其中执行某些操作。 但我做错了什么,我找不到它。 这是代码: #include #include int main(int argc, char * argv[]){ //File name is main.c if(argc != 3) printf(“Wrong!!!!!!!!!”); else if (argv[1] == “-s”) girls(); //Prints “Girls” else if(argv[1] == “-k”) boys(); //Prints “Boys” else printf(“OMG!!”); } 在cmd; gcc -o gender main.c gender -s pilkington 我输入那些命令。 总是输出 “我的天啊!!” 哪部分错了?

getopt.h:在Windows中编译Linux C代码

我试图在Windows下编译一组九个* .c文件(以及九个相关的* .h文件)。 该代码最初是在Linux中设计的,用于使用标准GNU-Linux / C库“getopt.h”获取命令行参数。 该库不适用于在Windows中构建C代码。 我想忽略我的代码现在所做的事情并提出以下问题。 对于那些熟悉这个C库“getopt.h”的人:如果它依赖于POSIX风格的命令行参数,是否可以在Windows中构建和运行我的代码? 或者我是否必须重新编写适用于Windows的代码,以不同方式传递输入文件(并放弃“getopt.h”依赖关系)?