본문으로 바로가기
homeimage
  1. Home
  2. 컴퓨터/프로그래밍
  3. C언어 main()함수 인수 중 프로그램 환경을 담고 있는 인수 envp

C언어 main()함수 인수 중 프로그램 환경을 담고 있는 인수 envp

· 댓글개 · 바다야크

main()함수 인수 중 프로그램 환경을 담고 있는 인수 envp

envp는 main() 인수 중에 환경 변수값을 갖는 인수입니다. main()의 인수는 int argc와 char **argv만 있는 것이 아닙니다. 프로그램을 실행하기 위한 환경 변수값을 담고 있는 char **envp가 있으면, envp의 각 문자열은 환경변수와 같이 = 문자로 분리되어 있습니다.

셀 명령 중에 printenv가 있습니다. 설명을 드리는 것 보다는 직접 실행해 보시는 것이 이해가 쉬울 것입니다.

]$ printenv
HOSTNAME=jwCentOS
TERM=linux
SHELL=/bin/bash
HISTSIZE=1000
       :
LS_COLORS=di=01;31
KDEDIR=/usr
MAIL=/var/spool/mail/jwjw
PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/jwjw/bin
HOME=/home/jwjw
       :
]$

main() 함수의 인수 중 envp를 이용하시면 pritnenv를 쉽게 작성하실 수 있습니다. 아래의 예제를 참고하세요. 또한 envp 인수 말고도 광역 변수로 정의된 extern char **environ 도 있습니다.

C언어 main() 인수 중 envp 예제

#include <stdio.h>

int main( int argc, char **argv, char **envp)
{
   while( *envp)
      printf( "%s\n", *envp++);

   return 0;
}

C언어 main() 인수 중 envp 예제 실행 결과

]$ ./a.out
HOSTNAME=jwCentOS
TERM=linux
SHELL=/bin/bash
HISTSIZE=1000
       :
LS_COLORS=di=01;31
KDEDIR=/usr
MAIL=/var/spool/mail/jwjw
PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/jwjw/bin
HOME=/home/jwjw
       :

]$
SNS 공유하기
💬 댓글 개
최근글
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.