Toon posts:

[Linux C]getopt probleem

Pagina: 1
Acties:
  • 53 views sinds 30-01-2008

Verwijderd

Topicstarter
edit:
opgelost

C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#define OPTSTRING "d:"
// disable 'built-in error massages
opterr=0;
while((opt==getopt(argc,argv,OPTSTRING))!=-1)
{
  switch((char)opt)
  {
  case 'd':
    // doe iets intelligents
    break;
  case ':':
    // missing value
    fprintf(stderr,"Missing value for option '-%c'\n",optopt);
    break;
  case '?':
    // unknown option
    fprintf(stderr,"Unknown option '-%c'\n",optopt);
    break;
  }
}


Als ik de code draai met de -d optie krijg ik de melding 'Unknown option"; ik verwacht echter de 'missing value' melding. Met -d8 (als voorbeeld) krijg ik (uiteraard) geen foutmelding.
Als ik echter OPTSTRING met een dubbele punt laat beginnen, krijg ik wel de verwachte melding als ik -d meegeef.

Ik kan hiervoor (begin met een dubbele punt) geen uitleg vinden in de man-page van getopt. Iemand een idee.

edit:
Never mind, toch nog gevonden in de man-page 8)7

[ Voor 39% gewijzigd door Verwijderd op 13-10-2005 14:34 . Reden: Zie edit ]


Dit topic is gesloten.