문제
내가 사용하고 gcc 대 windows.OS windows XP.어떻게 가져올 homepath 변수로는 c 프로그램 그래서 내가 쓸 수 있습니다 c:\%homepath%\desktop?를 사용하고 싶 비슷한:
fd = fopen("C:\\%%homepath%%\\desktop\\helloworld.txt","w")
;
해결책
사용 getenv()의 값을 얻기 위해 환경 변수,다음 사용하 sprintf 또는 strcat 를 구성하는 경로입니다.
다른 팁
사 getenv("homepath")
의 값을 얻기 위해 환경 변수입니다.당신을 처리해야 하는 경우에는 변수가 정의되지 않은(getenv
환 NULL
이 경우).
를 구성하는 경로로 사용 sprintf
char * homepath = getenv("homepath");
if(homepath == null) {
/* variable HOMEPATH has not been defined */
}
sprintf(path,"%s\\desktop\\helloworld.txt",homepath);
당신이해야 경로 충분히 큰 수용 가치 homepath
고 \\desktop\\helloworld.txt
.
또한 주의 사용 \\
에서 문자열입니다.사용할 수 없습니다 single \
.
참고:당신은 실제로 값을 얻을 필요의 HOMEDRIVE 뿐만 아니라,그리고 앞에 추가하는 것 HOMEPATH.에서 많은 기업의 환경,홈 디렉터리에 보관 큰 네트워크 제품 또는 서버입니다.
제휴하지 않습니다 StackOverflow