[ Fidelito_Castro @ 22.03.2008. 22:24 ] @
Nije mi jasno cemu sluze ovi argumenti funkcije main.

int main(int argc, char *argv[]) ????

Jasno mi je da sintaksa int main() oznacava da funkcija main ne prima parametre ali ono prethodno zaista ne znam.Trazio sam po netu ali nisam uspeo da shvatim?
Veoma bih vam bio zahvalan na objasnjenju ovog koda!
[ X Files @ 22.03.2008. 23:03 ] @
Da li znaš uopšte šta su i čemu služe argumenti nekog programa?

Probaj Start > Run

Kucaj: notepad
(otvoriće se Notepad)

Zatvori notepad i kucaj ponovo: notepad c:\autoexec.bat
(otvoriće se istovremeno i datoteka autoexec.bat u Notepadu)

Drugim rečima, programi mogu imati još neke parametre (argumente) u nastavku, koji menjaju default ponašanje programa.

agrc (argument count) govori koliko ima argumenata u pokrenutom programu.

U prvom slučaju argc ima vrednost 1, jer postoji samo jedna stavka (program).
U drugom slučaju argc ima vrednost 2, jer postoje dve stavke (program i ime datoteke).

argv su pointeri na početak stringa svake stavke.

Kompajliraj sledeći program:
Code:

#include <stdio.h>
#include <stdlib.h>
int main ( int argc, char *argv[] )
{
  printf( "BROJ ARGUMENATA=%d\n\n", argc );

  for( int i=0; i<argc; i++ )
    printf("%d.ARGUMENT=%s\n", i, argv[i] );

  system( "PAUSE" );
}

... i startuj iz komandne linije (command prompt-a):

program.exe jedan dva tri cetiri pet

... i pogledaj sta ce biti na ekranu:

BROJ ARGUMENATA=6

0.ARGUMENT=C:\Users\vladimir.stefanovic\Desktop\New Folder\program.exe
1.ARGUMENT=jedan
2.ARGUMENT=dva
3.ARGUMENT=tri
4.ARGUMENT=cetiri
5.ARGUMENT=pet
Press any key to continue . . .

Program je napisao koliko ima argumeneta i ispisao na ekran svaki od njih pojedinacno.


[Ovu poruku je menjao X Files dana 23.03.2008. u 09:21 GMT+1]
[ Fidelito_Castro @ 22.03.2008. 23:28 ] @
To care,svaka cast!!!
Hvala ti puno!