-1
在C中,假設我需要代碼在用戶在涉及argv和argc的linux命令行中輸入「-o」之類的東西時執行某些操作。更具體地說,如果文件名以-o開頭。輸入特定字符串時如何捕獲?如何掃描一個數組,然後做一些事情,一旦它捕捉到某個短語
在C中,假設我需要代碼在用戶在涉及argv和argc的linux命令行中輸入「-o」之類的東西時執行某些操作。更具體地說,如果文件名以-o開頭。輸入特定字符串時如何捕獲?如何掃描一個數組,然後做一些事情,一旦它捕捉到某個短語
#include <string.h>
int main(int argc, char *argv[])
{
int i;
for (i = 1; i < argc; ++i)
{
if (argv[i][0] == '-' && argv[i][1] == 'o')
{
/* "-o" detected. Take care of argv[i] here. */
}
}
}
使用getopt的
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <getopt.h>
int main(int argc , char *argv[]) {
char *file;
int opt;
while ((opt = getopt(argc, argv, "o:")) != -1){
switch(opt){
case 'o':
file=strdup(optarg);
printf("file is %s\n", file);
free(file);
break;
default :
;//return 1;
}
}
return 0;
}
/* demo
>a.out -o test.c
file is test.c
*/