PDA

Просмотр полной версии : Передача параметров в приложение


POS_troi
27.07.2009, 20:38
Ткните носом в реализацию функции которая будет осуществлять парсинг параметров - передаваемых приложению. (интересует UNIX, в винде думаю аналогично)

Пример:

proga -f <параметр> -p <параметр> и т.д.


З.Ы. желательно разложить на пальцах, ну или ткните носом в нормальную литературу по этому делу. (раньше с парсингом не сталкивался - передавал тупо)

fker
27.07.2009, 20:52
getopt

пример из сорцев нетката:

while ((x = getopt (argc, argv, "ade:g:G:hi:lLno:p:rs:tuvw:z")) != EOF) {
/* Debug (("in go: x now %c, optarg %x optind %d", x, optarg, optind)) */
switch (x) {
case 'a':
bail ("all-A-records NIY");
o_alla++; break;
#ifdef GAPING_SECURITY_HOLE
case 'e': /* prog to exec */
pr00gie = optarg;
break;
#endif
case 'L': /* listen then cycle back to start instead of exiting */
o_listen++;
cycle = 1;
break;


case 'd': /* detach from console */
FreeConsole();;
break;


case 'G': /* srcrt gateways pointer val */
x = atoi (optarg);
if ((x) && (x == (x & 0x1c))) /* mask off bits of fukt values */
gatesptr = x;
else
bail ("invalid hop pointer %d, must be multiple of 4 <= 28", x);
break;
case 'g': /* srcroute hop[s] */
if (gatesidx > 8)
bail ("too many -g hops");

alex912
27.07.2009, 21:06
http://www.firststeps.ru/linux/r.php?10

POS_troi
27.07.2009, 21:11
2fker

Этот какраз и описано как у меня как

раньше с парсингом не сталкивался - передавал тупо

из какого заголовочника функция getopt ?

2alex912

Не то.. почти но не то.

fker
27.07.2009, 21:25
"из какого заголовочника функция getopt ?"
getopt.h =)

Gar|k
27.07.2009, 21:25
http://exec.h1.ru/docs/glibc/glibc-22.html

POS_troi
27.07.2009, 21:30
Временно закрыто .

razb
28.07.2009, 13:45
man getopt

_http://linux.die.net/man/3/getopt

Там даже пример есть )