我需要通過編寫C語言程序來列出當前目錄中具有644權限的所有文件。 我不能使用system()
,必須使用execl()
才能使用系統調用。使用execl運行Linux命令
這一條線,我在我的代碼中使用:
execl("/usr/bin/find", "find . -maxdepth 1 -perm 644", (char *)NULL);
的問題是,代碼搜索整個磁盤,而不是當前目錄。 你能幫我修好嗎?
...
case 4:
int status;
switch (fork()){
case -1: quit ("fork",1);
case 0:
execl("/usr/bin/find","find","." ,"-maxdepth" ,"1","-perm", "644",(char *)NULL) ;
exit (200);
default:
wait(&status);
exit(0);
}
}
我保持在一個while循環和切換大小寫的行,但在列出文件腳本停止。 – femchi
我需要查看您的代碼以瞭解您的意思。你是否也在使用'fork()'和'wait()'?還要別的嗎?編輯你的問題;不要試圖將其置於評論中。不要摧毀原來的問題(如果我告訴你你已經知道了什麼,請致歉)。 –
我加了代碼 – femchi