[ V3kAn @ 16.06.2001. 02:04 ] @
void main (int BrArg,char *naziv[])
{

char izvor[12];
FILE *dat;

clrscr();
if (BrArg==1) //shta znachi sada ovo BrArg==1????
{
printf("\n Unesite naziv izvorne datoteke:");
scanf("%12s",izvor);
}
else strcpy(izvor,naziv[1]); //shta ovde znachi naziv[1]? zashto od [1]?


Molio bi nekoga da mi prokomentarishe ovaj kod... ja znam da se ovim postizhe provera da li je naziv dat ili treba mi da ga popunimo, mada ne kontam na koji nachin sve to ispod haube radi... Shta znachi naziv[0], a shta od [1]... ili [2]?
[ MoHicAn @ 16.06.2001. 09:10 ] @
Citat:
V3kAn je napisao:
void main (int BrArg,char *naziv[])
{

char izvor[12];
FILE *dat;

clrscr();
if (BrArg==1) //shta znachi sada ovo BrArg==1????
{
printf("\n Unesite naziv izvorne datoteke:");
scanf("%12s",izvor);
}
else strcpy(izvor,naziv[1]); //shta ovde znachi naziv[1]? zashto od [1]?


Molio bi nekoga da mi prokomentarishe ovaj kod... ja znam da se ovim postizhe provera da li je naziv dat ili treba mi da ga popunimo, mada ne kontam na koji nachin sve to ispod haube radi... Shta znachi naziv[0], a shta od [1]... ili [2]?



if (promenjiva==vrednost){kod........
== ovo nije dodavanje vrednosti kao npr int blah=5 ......
ovime proveravas dali je promenjiva jednaka vrednosti ... ako jeste onda ide kod ako nije onda ide .. else { .......

a ovo
strcpy(izvor,naziv[1]);
ti kopira string sa lokacije navi[1] u izvor

mrzi me sad da predpostavljam sta bi to moglo da bude
ja bi to da proverava dali je dat naziv drugacije uradio al ajd sad ....
posalji veci deo kod-a mozda cak i ceo ako mozes !!!!!
[ Vojislav Milunovic @ 16.06.2001. 12:00 ] @
Code:

void main (int BrArg,char *naziv[]) 
{

char izvor[12];
FILE *dat;

clrscr();
if (BrArg==1)   //shta znachi sada ovo BrArg==1????
    {
     printf("\n Unesite naziv izvorne datoteke:");
     scanf("%12s",izvor);
    }
else strcpy(izvor,naziv[1]);   //shta ovde znachi naziv[1]? zashto od [1]?


Neko se pavio pametan pa je menjao naziv main() argumenata.Neko nepisano pravilo je da se prvi argument zove int argc,drugi argv, a treci envp.
Kod tebe je enko kao prvi argument stavio BrArg sto je ustvari broj opcija predat programu + samo ime programa . Ako je broj argumenata == 1 (kao u ovm slucaju) to znaci da je samo ime programa predato programu.(malo zbunjujuce? )
#./blah voja je predator
./blah je prvi argument
voja je drugi
je treci
predator cetvrti argument

drugi argument ovog programa je naziv iliti argv tj. pointer na pointere stringova.
Stoga kao sto sam ti gore rekao :
naziv[0] == ./blah
naziv[1] == voja
naziv[2] == je
naziv[3] == predator

Naime ovaj program radi sledece :
If proverava da li je broj argumentana == 1 (ako je ==1) onda program nema opcije pa je potrebno popuniti izvor[] preko klasicnog user inputa koristeci scanf().Ali ako je predato nesto programu kao argument ( ./blah predator) onda to 'predator' prekopirati u izvor[] sa strcpy() jel je naziv[1] upravo prvi parametar programa (posle imena samog programa koje je naziv[0]);



[Ovu poruku je menjao predator dana 06-16-2001 u 11:00 AM GMT]
[ MoHicAn @ 16.06.2001. 13:54 ] @
AAAA ye ye
ja ne videh da je to main ........
misleo sam to neka druga funkcija ....

PS:
predo kako mislis broj opcija ....
to je onda sama opcija tj njena oznaka koju dajes progiju prilikom izvrsavanja !!!!
[ Mikky @ 16.06.2001. 15:46 ] @
a cemu sluzi taj 3 argument envp
prvi put cujem za njega
[ Vojislav Milunovic @ 16.06.2001. 15:53 ] @
MoHiCaN mislio sam na broj parametar predatih programu,s obzirom da je opcija (-char) isto parametar nisam znao kako da se odrazim lepo

Mikky to ti je argument kojim pristupas promenljivim okruzenja (shell promenljivima)
[ V3kAn @ 17.06.2001. 04:25 ] @
Ne razumem predatore o kakvom imenu programa pishesh??? Gde je to ime napisano i kako mi mozhemo menjati to ime programa? I shta znachi predati ime preograma programu? Chemu to ime sluzhi uopshte?
[ Vojislav Milunovic @ 17.06.2001. 11:00 ] @
Code:

int main(int argc,char **argv){
  printf(argv[0]);
  printf(argv[1]);
}


#gcc gg.c -ogg
#./gg predator
./gg
predator
[ MoHicAn @ 17.06.2001. 11:41 ] @
a jel to gg ....... kao go go .......

go go predatoooooor taaa na na na naaaaa

:P
[ random @ 17.06.2001. 13:25 ] @
Pa i nije se mnogo pravio pametan, nekako BrArg asocira na Broj Argumenata...
[ Vojislav Milunovic @ 17.06.2001. 17:13 ] @
Mohicanne ne gg znaci good game. To sam poceo prvi da koristim na Novi i evo vidim i danas ljudi to koriste.Secam se dana kada sam prvi put otisao na Novau i ukucao gg gledali su me kao glupog srbina dok nisu shvatili sta znaci (inace ovo sam poceo da koristim 99 godine)

random pa moze to da asocira na Broj Argumenata (sto sigurno i jeste) ali da vidis kad bi mi palo napamet da to trazim kao argument main()-a.
Zna se :
1 argc
2 argv
3.envp

[Ovu poruku je menjao predator dana 06-17-2001 u 04:14 PM GMT]
[ MoHicAn @ 17.06.2001. 17:50 ] @
A ye ye

ja misleo

go go power rangers i tako to .......

[ Vojislav Milunovic @ 17.06.2001. 21:48 ] @
get in position and wait for my go... i onda go go go go