<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=OurMajorLangIsCAndCPlusPlus%2Flocale.h</id>
	<title>OurMajorLangIsCAndCPlusPlus/locale.h - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=OurMajorLangIsCAndCPlusPlus%2Flocale.h"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=OurMajorLangIsCAndCPlusPlus/locale.h&amp;action=history"/>
	<updated>2026-05-15T09:47:25Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=OurMajorLangIsCAndCPlusPlus/locale.h&amp;diff=37366&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:23, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=OurMajorLangIsCAndCPlusPlus/locale.h&amp;diff=37366&amp;oldid=prev"/>
		<updated>2021-02-07T05:23:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== locale.h ==&lt;br /&gt;
 담당 : 허준수&lt;br /&gt;
&lt;br /&gt;
location specific information 를 setting 하는데 유용한 라이브러리&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 매크로 ==&lt;br /&gt;
#define  LC_ALL (integer constant expression)  모든 카테고리에 대한 로케일 설정을 위한 환경변수이다&lt;br /&gt;
#define LC_COLLATE (integer constant expression)  스트링(string)의 정렬 순서(sort order 또는 collation)를 위한 로케일 설정을 위해 사용&lt;br /&gt;
#define LC_CTYPE (integer constant expression)  문자 분류(알파벳, 숫자, 한글 또는 소문자, 대문자 등등), 변환, 대소문자 비교을 위한 로케일 설정을 의미&lt;br /&gt;
#define LC_MONETARY (integer constant expression)  금액 표현(천단위 구분 문자, 소수점 문자, 금액 표시 문자, 그 위치 등)을 위한 로케일 설정&lt;br /&gt;
#define LC_NUMERIC (integer constant expression)  금액이 아닌 숫자 표현(천단위, 소수점, 숫자 그룹핑 등)을 위한 로케일 설정&lt;br /&gt;
#define LC_TIME (integer constant expression)  시간과 날짜의 표현(년, 월, 일에 대한 명칭 등)을 위한 로케일 설정 예를 들어 strftime(), strptime()&lt;br /&gt;
#define NULL (either 0, 0L, or (void*)0) (0 in C++)&lt;br /&gt;
&lt;br /&gt;
== lconv 구조체 ==&lt;br /&gt;
struct lconv {&lt;br /&gt;
ELEMENT                   &amp;quot;C&amp;quot; LOCALE   LOCALE CATEGORY&lt;br /&gt;
char* currency_symbol;    &amp;quot;&amp;quot;           LC_MONETARY&lt;br /&gt;
char* decimal_point;      &amp;quot;.&amp;quot;          LC_NUMERIC&lt;br /&gt;
char* grouping;           &amp;quot;&amp;quot;           LC_NUMERIC&lt;br /&gt;
char* int_curr_symbol;    &amp;quot;&amp;quot;           LC_MONETARY&lt;br /&gt;
char* mon_decimal_point;  &amp;quot;&amp;quot;           LC_MONETARY&lt;br /&gt;
char* mon_grouping;       &amp;quot;&amp;quot;           LC_MONETARY&lt;br /&gt;
char* mon_thousands_sep;  &amp;quot;&amp;quot;           LC_MONETARY&lt;br /&gt;
char* negative_sign;      &amp;quot;&amp;quot;           LC_MONETARY&lt;br /&gt;
char* positive_sign;      &amp;quot;&amp;quot;           LC_MONETARY&lt;br /&gt;
char* thousands_sep;      &amp;quot;&amp;quot;           LC_NUMERIC&lt;br /&gt;
char frac_digits;         CHAR_MAX     LC_MONETARY&lt;br /&gt;
char int_frac_digits;     CHAR_MAX     LC_MONETARY&lt;br /&gt;
char n_cs_precedes;       CHAR_MAX     LC_MONETARY&lt;br /&gt;
char n_sep_by_space;      CHAR_MAX     LC_MONETARY&lt;br /&gt;
char n_sign_posn;         CHAR_MAX     LC_MONETARY&lt;br /&gt;
char p_cs_precedes;       CHAR_MAX     LC_MONETARY&lt;br /&gt;
char p_sep_by_space;      CHAR_MAX     LC_MONETARY&lt;br /&gt;
char p_sign_posn;         CHAR_MAX     LC_MONETARY&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
== 함수 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 함수&lt;br /&gt;
| 설명&lt;br /&gt;
|-&lt;br /&gt;
| struct lconv* localeconv(void);&lt;br /&gt;
| lconv 구조체를 현재의 location setting 에 맞게 값을 설정한다.&lt;br /&gt;
|-&lt;br /&gt;
| char* setlocale(int category, const char* locale);&lt;br /&gt;
| category에 대해 로케일 locale을 설정하고 (물론, 사용 가능한 로케일인 경우), 설정된 로케일값을 리턴.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== setLocale 의 예 ==&lt;br /&gt;
   #include &amp;amp;lt;stddef.h&amp;amp;gt;&lt;br /&gt;
      #include &amp;amp;lt;locale.h&amp;amp;gt;&lt;br /&gt;
      #include &amp;amp;lt;stdlib.h&amp;amp;gt;&lt;br /&gt;
      #include &amp;amp;lt;string.h&amp;amp;gt;&lt;br /&gt;
      &lt;br /&gt;
      void with_other_locale (char *new_locale, void (*subroutine) (int), int argument)&lt;br /&gt;
      {&lt;br /&gt;
        char *old_locale, *saved_locale;&lt;br /&gt;
      &lt;br /&gt;
        /* 현재 로케일명을 알아낸다. */&lt;br /&gt;
        old_locale = setlocale (LC_ALL, NULL);&lt;br /&gt;
      &lt;br /&gt;
        /* setlocale()의 재호출 의해 변경될 것을 대비해 로케일 이름을 미리 복사해 둔다. */&lt;br /&gt;
        saved_locale = strdup (old_locale);&lt;br /&gt;
        if (saved_locale == NULL)&lt;br /&gt;
          fatal (&amp;quot;Out of memory&amp;quot;);&lt;br /&gt;
      &lt;br /&gt;
        /* 로케일을 변경하고 subroutine을 수행한다. */&lt;br /&gt;
        setlocale (LC_ALL, new_locale);&lt;br /&gt;
        (*subroutine) (argument);&lt;br /&gt;
      &lt;br /&gt;
        /* 원래의 로케일로 복귀한다. */&lt;br /&gt;
        setlocale (LC_ALL, saved_locale);&lt;br /&gt;
        free (saved_locale);&lt;br /&gt;
      }&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>