使用fnmatch和char指针

时间:2017-01-25 12:27:03

标签: c wildcard

数组options包含此格式的元素:" -option = value"。

参数needed_option包含例如"选项"

char *function(char *options[], char *needed_option){
    for(//go over all possible options){
       if(fnmatch("-???=*", options[i], 0) == 0){ //<--- look here
           char *ret = extract_value_from_option(); 
           return ret;
        }
    }

}

问题:有没有办法通用地替换&#34; ???&#34;使用函数 - 参数needed_option就像在printf()中完成的那样,使用char *可以包含%s吗?

1 个答案:

答案 0 :(得分:3)

使用sprintf()

进行准备
  char current[256];
  sprintf(current, "-%s=*", needed_option);
  //...
  if(fnmatch(current, options[i], 0) == 0){ //...