如何在 Ubuntu 中将特定用途的命令行参数添加到您的终端?
How do you add command line arguments for specific use to your terminal in Ubuntu?
我对如何在使用 GNU C 编译器编译程序时在 Ubuntu 终端中添加某些参数感到有点困惑。例如:
gcc -o question question.c
./question -e -f someFile.txt
其中 -f 将打开此特定文件 'someFile.txt'(任何文件),而 -e 将允许我访问代码中的特定函数。
我用 void main(int argc, char* argv[]) 尝试了这个,但是我必须指定我必须传递的参数数量,即 ./question 3 -e -f resources.txt,我不想做。
还有其他方法可以尝试吗?
提前致谢!!!
#include <stdio.h>
int main(int argc, char **argv) {
printf("program was supplied %d arguments.\n", argc - 1);
for (int k = 0; k < argc; k++) printf("argv[%d] is %s\n", k, argv[k]);
if (!strcmp(argv[1], "-e")) printf("The first argument provided is -e\n");
}
对于高级用法,您可能需要阅读 getopt
我对如何在使用 GNU C 编译器编译程序时在 Ubuntu 终端中添加某些参数感到有点困惑。例如:
gcc -o question question.c
./question -e -f someFile.txt
其中 -f 将打开此特定文件 'someFile.txt'(任何文件),而 -e 将允许我访问代码中的特定函数。
我用 void main(int argc, char* argv[]) 尝试了这个,但是我必须指定我必须传递的参数数量,即 ./question 3 -e -f resources.txt,我不想做。
还有其他方法可以尝试吗?
提前致谢!!!
#include <stdio.h>
int main(int argc, char **argv) {
printf("program was supplied %d arguments.\n", argc - 1);
for (int k = 0; k < argc; k++) printf("argv[%d] is %s\n", k, argv[k]);
if (!strcmp(argv[1], "-e")) printf("The first argument provided is -e\n");
}
对于高级用法,您可能需要阅读 getopt