после прочтения известного PDF о argp, я хотел сделать что-то с ним, но у меня возникают проблемы, в этом примере:Как принимать символ или строку в качестве входных данных
static int parse_opt (int key, char *arg, struct argp_state *state)
{
switch (key)
{
case 'd':
{
unsigned int i;
for (i = 0; i < atoi (arg); i++)
printf (".");
printf ("\n");
break;
}
}
return 0;
}
int main (int argc, char **argv)
{
struct argp_option options[] =
{
{ "dot", 'd', "NUM", 0, "Show some dots on the screen"},
{ 0 }
};
struct argp argp = { options, parse_opt, 0, 0 };
return argp_parse (&argp, argc, argv, 0, 0, 0);
}
-d принимает аргумент типа int, но если я хочу получить массив char или char в качестве аргумента? В pdf-документе не рассматриваются ни документы, ни документы.
Я начинаю изучать C, я знаю это в основном, я больше знаком с другими lenguages, поэтому, чтобы узнать больше об этом, я хочу его заархивировать, но я не знаю, как это сделать он принимает массив символов.
код, который не работает при сравнении ARG с гольца:
static int parse_opt(int key, char *arg, struct argp_state *state)
{
switch(key)
{
case 'e':
{
//Here I want to check if "TOPIC" has something, in this case, a char array
//then based on that, do something.
if (0 == strcmp(arg, 'e'))
{
printf("Worked");
}
}
}
return 0;
}//End of parse_opt
int main(int argc, char **argv)
{
struct argp_option options[] =
{
{"example", 'e', "TOPIC", 0, "Shows examples about a mathematical topic"},
{0}
};
struct argp argp = {options, parse_opt};
return argp_parse (&argp, argc, argv, 0, 0, 0);
}//End of main
Спасибо заранее.
Ум разъяснении 'Параметр -d принимает аргумент типа Int,'? – sjsam
"-d принимает аргумент типа int". Это не правда. 'arg' всегда является строкой. Это ваш код, который меняет его на 'int'. Если вы хотите сохранить его как строку, просто не называйте 'atoi'. – kaylum
@sjsam Конечно, есть unsigned int, называемый i, который имеет отношение с «NUM» tha является аргументом -d, аргумент «NUM» просто принимает значения целых чисел, и я хочу, чтобы он принимал массив char или char, я надеюсь, что я был понятен –