Hi All,
Pardon the possible idiocy of this question:
I'm trying to use the 'getopt' routine for handling command-line flags and
while most of it works like a charm, I need to have 1 flag that has 2
arguments:
progname -g 10 filename yadda yadda yadda
optarg is declared as an 'extern char *', as per the man page for this,
and after the call to getopt, is supposed to point to the beginning of the
variable string. I read this to mean that after the call, optarg should
point to the string "10 filename".
However, using an intermediate pointer 'tempstr' (because I can't examine
'optarg' directly for some reason (Is that a clue?)), I see with my
de* that after:
.
.
while ((c = getopt(argc, argv, "Lsvqhf:n:o:m:M:b:e:R:g:l:t:T:C:F:w:")) != EOF)
.
.
tempstr = optarg;
<now look at tempstr in memory, from the above example>
1 0 \0 f i l e n a m e \0
it looks like it's there but as 2 null-terminated strings instead of one,
so I can't read it in with a 'sscanf()' or suchlike.
Two questions:
1) Is this the correct action of getopt? (almost certainly 'yes' - I'm a
novice at this)
2) What is the usual way of extracting multiple options per flag using getopt?
Thanks in advance for any enlightenment.
Cheers
harry
--
Harry J Mangalam, MolBio+Biochem / Dev+Cell Bio, Rm 4201, BioSciII UC
Irvine, Irvine, CA, 92717, (714) 824-4824, fax (714) 824 8598
--
Harry J Mangalam, MolBio+Biochem / Dev+Cell Bio, Rm 4201, BioSciII UC Irvine, Irvine, CA, 92717, (714) 824-4824, fax (714) 824 8598