21 Aralık 2016 Çarşamba

argp

Giriş
Şu satırları dahil ederiz.
#include <stdio.h>
#include <argp.h>
#include <string.h>
argp yöntemi, getop yöntemine göre biraz daha gelişmiş özellikler sunar.

argp_parse metodu
Şöyle yaparız.
int main(int argc, char **argv) {
  struct argp_option const options[] = {
      {"char", 'c', "c", 0, "a super char", 0}, {0}};
  struct argp const argp = {options, &parse_opt, NULL, NULL, NULL, NULL, NULL};
  argp_parse(&argp, argc, argv, 0, NULL, NULL);
}
parser
Şöyle yaparız.
static int parse_opt(int key, char *arg, struct argp_state *state) {
  (void)state; // We don't use state
  switch (key) {
    case 'c': {
      if (strlen(arg) == 1) { // we only want one char
        char c = *arg;        // or arg[0]
        printf("my super char %c !!!\n", c);
      } else {
        return 1;
      }
    }
  }
  return 0;
}


Hiç yorum yok:

Yorum Gönder