2011-10-08 4 views
2

리눅스에서 $ PATH의 디렉토리에있는 모든 파일을 목록이나 배열로 얻을 수있는 C 함수 호출이 있습니까? 또는 $ PATH 변수를 수동으로 파싱하여 가져와야합니까?

+1

';'으로 나누면됩니다. 'strtok' 만 있으면 충분합니다. –

+3

'strtok'은 스레드로부터 안전하지 않으므로':' –

답변

2
#include <stdlib.h> 
char *colon_delimited_path = getenv("PATH") 

은 PATH에있는 : - 디렉토리 목록을 반환합니다. 배열로 변환하려면 strtok을 사용하여 문자열을 분할 할 수 있습니다.

+1

['strtok_r'] (http://pubs.opengroup.org/onlinepubs/009604599/functions/strtok.html)이 더 안전하다고 생각합니다. –

관련 문제