C artikler :: getopt - kommando-parameter-styring
Du skal erklære disse tre variabler:
Med getopt() sætter du op hvilke parametre med eller uden optioner du ønsker. I strengen ":abf:o:" angiver et kolon en parameter uden option ( hvor det ikke står bag et bogstav). En option uden parametre er defineret ved option -a og -b. Optioner der kræver en operand (en parameter efter en option) defineres med et bogstav efterfulgt af et kolon. Placer getopt() i en while-løkke, den vedbliver at returnere et option-tegn sålænge der findes nogen tilbage og -1 når der ikke er flere.
Hele kommandolinien, der i Unix ordnes til en tæller argc for hvor mange parametre der er i kommandolinien og argv som er et array af strenge med hver en parameter overføres til main(). getopt() tager parameter argc og argv og den streng med de specifikationer af parametre du ønsker.
Det er let at overskue optionerne ved at bruge switch til at behandle de enkelte optioner.
Når dit program støder på en ukendt option returnerer getopt() ? og er derfor også let at putte ind som en case i switch. I sådant et tilfælde sættes optopt med optionen der ikke blev genkendt.
Når getopt() møder en option hvor der skal bruges en operand, som i specifikationen (f:) sættes operandværdien i optarg.
I tilfælde af at operanden savnes returnerer getopt() : og optopt sættes med optionen. Der kan vi også lave en case:
Ekstra parametre uden optioner kan aflæses af optind.
Når vi skal behandle parametre uden optioner kan access() blive handy. Den foretager et check på en fil's rettigheder udfra brugerens login, forudsat at parameteren skal være en filangivelse naturligvis. Du kan checke om der f.eks. er skriverettigheder til filen eller om den findes i forvejen etc.
De fire viste check med access() kan kombineres hvis du f.eks. ønsker at checke du både har læse- og skriverettigheder til filen ved R_OK || W_OK.