2017-02-09 21 views

답변

1

LC_CTYPE은 환경 변수입니다. 플랫폼에 따라 다른 환경 변수에 액세스하는 일반적인 방법을 사용할 수 있습니다. 예를 들어, POSIX의 main에 세 번째 envp 인수 :

int main(int argc, char **argv, char **envp); 

또는 표준 C89 getenv() 기능 : 예를 들어

char *getenv(const char *name); 

:

#include <stdlib.h> 
char const *get_lc_ctype() 
{ 
    return getenv("LC_CTYPE"); 
} 

getenv(3)에 의해 반환 된 문자열을 수정할 조심하지 수 이는 정의되지 않은 동작입니다. 당신이 LC_CTYPE 설정하려면, 당신은 setenv(3) 제 (POSIX 표준화 그러나 C-표준화되지 않음)를 사용해야합니다

int set_lc_ctype(char const *new) 
{ 
    return setenv("LC_CTYPE", new, 1); 
} 
0

일반적인 방법은 사용하는 것 '은 setlocale()을'. 남자 페이지에서 :

로케일이 빈 문자열 ""는 환경 변수에 따라 설정을 수정해야 로케일의 각 부분이있는 경우.

따라서, 당신은

#include <locale.h> 
// ... 
char* lc_type= setlocale(LC_CTYPE, ""); 
에 의해 LC_TYPE를 얻을 수