previous next Up Title Contents Index

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

Tehtävä 13.133 Palindromi

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>_


previous next Up Title Contents Index