현재 프로그램을 작성 중이며 환경 변수가 설정된 경우 특수 출력을 인쇄하려고합니다.C 프로그램에서 환경 변수가 설정되었는지 확인하는 방법
예를 들어, 환경 변수 "DEBUG"
을 원한다고 가정 해보십시오. 내 bash는 명령 프롬프트에서
, 나는 명령을 입력하여 DEBUG
을 설정 DEBUG=
그런 다음 내 C 프로그램에서,이 환경 변수가 char **environ
의 모든 컨텐츠를 인쇄하여 설정되어 있는지 확인 할 수 있습니다. DEBUG
이이 환경 출력물에 표시됩니다.
그러나 조건부 검사를 위해이 환경 변수를 검색하는 방법을 모르겠습니다. 심지어 알려진에이 시도
printf("get env: %s\n", getenv("DEBUG"));
: 내가 독방 감금 오류를 얻을 아래와 같이이 출력을 인쇄하려고한다면
getenv("DEBUG")
: 그래서 같은 기능의 GetEnv를 사용하여 시도했다 "HOME"
:
printf("get env: %s\n", getenv("HOME"));
과 같은 환경 변수는 여전히 seg fault를 생성합니다.
C 프로그램에서 환경 변수가 설정되어 있는지 확인하는 사람이 있습니까? 나도 그렇게하지 못하게하는 하나의 환경 변수를 가져 오는 문제가있다.
사용중인 운영 체제는 무엇입니까? –
OSX에 있지만 유닉스/리닉스 서버에서도 테스트 중입니다 – pleaver