fork 및 exec를 사용하여 $ PATH에 나열된 모든 디렉토리에서 디렉토리를 검색 할 수있는 C 프로그램을 작성하는 작업이 있습니다. 내 질문에 내가 다음 getenv()
(남성 3의 GetEnv)를 사용하여 PATH 환경 변수를 얻을 수 있습니다 execl 함수
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/wait.h>
int main(int argc, char* argv[]) {
int pid = 0;
for(int i = 0; i < argc; i++) {
if (pid = fork() != 0){
printf("Arg%d: %c\n", i, *argv[i]); // replace with exec ls -l <dir>/<arg>
return 0;
}
}
return 0;
}
['getenv()'] (http://en.cppreference.com/w/c/program/getenv)를 사용 하시겠습니까? –
'argv [0]'은 * 당신의 * 프로그램의 이름이라는 것을 기억하십시오. –
@JOACHIMPILEBORG 당신 말이 맞아요, 나는 그것을 놓쳤습니다. –