Problem je što ti zapravo i ne prelaziš u direktorijum /usr/share. Naredba
Code:
system("cd /usr/share");
nema nikakvog bitnog efekta. Ona nalaže ljusci da izvrši naredbu promene tekućeg direktorijuma koji će biti tekući dok je ljuska živa. Dakle, kada se ta naredba izvrši do kraja, tj. ljuska se ugasi, opet je stari direktorijum tekući. To možeš proveriti izvršavanjem sledeće dve uzastopne naredbe:
Citat:
system("cd /usr/share");
system("ls");
One se izvršavaju u odvojenim (uzastopnim) primercima ljuske (jedna za drugom), tako da se druga izvršava, kada je efekat prve već poništen.
Umesto toga, problematičnu naredbu zameni sa
Code:
chdir("/usr/share");
i radiće.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.