Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys

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


Ylös Edellinen Seuraava Otsikkosivu Hakemisto Sisällys