Citat:
glupi:
Imam 2 pitanja:
1. Trebam pokrenut program iz svog programa te mu prosljedit neke argumente, do sada sam to radio preko execle() funkcije, ali sada vise nemogu tako prosljedit argumente jer program sada prvo trebam pokrenut te on poziva gets() funkciju??
system()?
Citat:
2. Naisao sam na ovaj kod te mi nije jasno kako "zadovoljit" if naredbu (kakav mi treba biti argument da bi proslo)?
char *p;
if( p == (char *) strchr(argv[1],'@') ) p++;
Nedovoljno konteksta da bi se išta moglo reći: kod je vrlo čudan, a ono što on radi je da traži '@' u prvom argumentu, ukoliko ga nađe proverava da li je p već sada pokazivač na taj znak u argv[1], a ako ga ne nađe proverava da li je p==NULL, i zatim uvećava p za 1.
Ukoliko se umesto ,,=='' stavi ,,='' , onda će kod raditi nešto zanimljivije: tražiće znak '@' i pokazivač postaviti na jedno mesto iza: vrlo korisno ako ti treba, npr. domen iz e-mail adrese.
Jedini je problem što ako se '@' ne pojavljuje u prvom argumentu, eto tebi ubrzo jedan ,,SIGSEGV'', pošto na adresi (char*)1 ne verujem da ti je dozvoljen pristup svuda osim u DOS-u :)
Možda se moje mišljenje promenilo, ali ne i činjenica da sam u pravu.