5.7.11. setlocale()

categorylocale 인수가 지정한 대로 적절한 로케일을 선택합니다.

구문

char* setlocale(int category, const char* locale);

구현

setlocale() 함수는 현재 로케일의 일부 또는 전부를 변경이나 질의하는 데 사용됩니다. 각 값의 범주 인수의 효과에 대해서는 로케일 범주에서 설명합니다. locale에 대한 "C" 값은 C 변환에 대한 최소 환경을 지정합니다. locale에 대한 비어 있는 문자열, ""은 구현 정의 네이티브 환경을 지정합니다. 프로그램 시작 시 setlocale(LC_ALL, "C")에 해당하는 함수가 실행됩니다.

로케일 범주

category의 값은 다음과 같습니다.

LC_COLLATE

strcoll()의 동작에 영향을 줍니다.

LC_CTYPE

문자 처리 함수의 동작에 영향을 줍니다.

LC_MONETARY

localeconv()가 반환하는 통화 포맷 지정 정보에 영향을 줍니다.

LC_NUMERIC

포맷이 지정된 입력/출력 함수와 문자열 변환 함수의 소수점 문자와 localeconv()가 반환하는 숫자 포맷 지정 정보에 영향을 줍니다.

LC_TIME

strftime()의 동작에 영향을 줄 수 있습니다. 현재 지원되는 로케일의 경우 옵션은 아무런 영향을 미치지 않습니다.

LC_ALL

모든 로케일 범주에 영향을 줍니다. 이것은 모든 로케일 범주의 비트 단위 OR입니다.

반환

문자열에 대한 포인터가 locale에 제공되고 선택이 유효한 경우, 새 로케일에 대해 지정된 범주와 관련된 문자열이 반환됩니다. 선택을 이행할 수 없으면 null 포인터가 반환되며 로케일은 변경되지 않습니다.

locale에 대해 null 포인터가 있으면 현재 로케일의 범주와 관련된 문자열이 반환되고 로케일은 변경되지 않습니다.

categoryLC_ALL이고 최근에 성공한 로케일 설정 호출이 LC_ALL이 아닌 범주를 사용한 경우, 복합 문자열이 반환될 수 있습니다. 관련 범주를 가진 이후 호출에서 문자열이 사용될 때 반환된 문자열은 프로그램 로케일의 해당 부분을 복원합니다. 반환된 문자열은 프로그램에서 수정되지 않지만 setlocale()에 대한 이후 호출이 이를 덮어쓸 수 있습니다.

Copyright © 2002-2006 ARM Limited. All rights reserved.ARM DUI 0205GK
Non-Confidential