13.9 Komentorivin parametrit (argv)
Esimerkiksi
C- kielinen pääohjelma saa
käyttöjärjestelmältä tällaisen taulukon kutsussa
olleista argumenteista:
c-taul\argv.c - komentorivin parametrit
#include <stdio.h>
int main(int argc, char *argv[])
{
int i;
printf("Argumentteja on %d kappaletta:\n",argc);
for (i=0; i<argc; i++)
printf("%d: %s\n",i,argv[i]);
return 0;
}
Edellä nimet tulevat
argc = argument count
argv = argument vector
Kun ohjelma käännettäisiin (vaikkapa nimelle argv.exe)
ja ajettaisiin komentoriviltä saattaisi tulostus olla seuraavan
näköinen (MS- DOS
- koneessa):
C:\KURSSIT\CPP\MONISTE\ESIM\C-TAUL>argv kissa istuu puussa[RET]
Argumentteja on 4 kappaletta:
0: C:\KURSSIT\CPP\MONISTE\ESIM\C-TAUL\ARGV.EXE
1: kissa
2: istuu
3: puussa
C:\KURSSIT\CPP\MONISTE\ESIM\C-TAUL>_
argv-+ +----------------------------------------
| +-------->| C | : | \ | K | U | R | S | S | I | T |
v | +----------------------------------------
+---+ | +-----------------------+
0 | o-+-+ +------>| k | i | s | s | a |NUL| argc = 4
+---| | +-----------------------+
1 | o-+---+ +-----------------------+
+---| +---->| i | s | t | u | u |NUL|
2 | o-+-----+ +-----------------------+
+---| +---------------------------+
3 | o-+---------->| p | u | u | s | s | a |NUL|
+---| +---------------------------+
4 | o-+-+ ^
+---+ | argv[3][2]-------+
---
HUOM! Myös C++- ohjelma saa saman taulukon. Siis joukon osoittimia
C- merkkijonoihin, ei mitään string taulukkoa
- Kirjoita ohjelma pali, jota kutsutaan komentoriviltä
seuraavasti:
C:\OMAT\OHJELMOI\VESA>pali kissa[RET]
kissa EI ole palindromi!
C:\OMAT\OHJELMOI\VESA>pali saippuakauppias[RET]
saippuakauppias ON palindromi!
C:\OMAT\OHJELMOI\VESA>_