setrunelocale
, setinvalidrune
,
sgetrune
, sputrune
,
fgetrune
, fungetrune
,
fputrune
—
C ?ѥ롼?ݡ???
Standard C Library (libc, -lc)
<rune.h>
<errno.h>
int
setrunelocale
(char *locale)
void
setinvalidrune
(rune_t rune)
rune_t
sgetrune
(const char *string,
size_t n, char const **result)
int
sputrune
(rune_t rune,
char *string, size_t n,
char **result)
<stdio.h>
long
fgetrune
(FILE *stream)
int
fungetrune
(rune_t rune,
FILE *stream) int
fputrune
(rune_t rune,
FILE *stream)
setrunelocale
()
?ϡ??ޥ????Х??ȥ??ȥ??Ȥ??ƥ롼????ɽ?????뤿????
?????ɤΥ????ס???????
⟨ctype.h⟩
?????????줿?롼???Υץ??ѥƥ??????椷?ޤ???
locale
?????ϡ??????ɤ????????????????ꤷ?ޤ???
???????뤬?????˥????ɤ??????? 0
???ᤵ?졢?????ɤ????꤬???????ȥ??顼?????פ?ɽ??
errno ?ͤ??ᤵ???ޤ???
setinvalidrune
()
?ؿ??ϡ????????Х??? _INVALID_RUNE
???ͤ? rune ?????ꤷ?ޤ???
sgetrune
()
?ؿ??ϡ?Ĺ???????? n
?Х??Ȥ? 1
?ĤΥޥ????Х??ȥ????饯????
string
?????ɤ߹??⤦?Ȥ??ޤ???
sgetrune
()
?????꤬ȯ?????ʤ??ä??????ϥ롼?????ᤵ???ޤ???
result ?? NULL
?ǤϤʤ????硢 *result
?ϡ? string
???Ѵ??????ʤ??ä??ǽ??ΥХ??Ȥ??ؤ??ޤ???
string ?κǽ??? n
?Х??Ȥ??????ʥޥ????Х??ȥ????饯????ɽ???ʤ???????
_INVALID_RUNE
???ᤵ?졢
*result ?? string
???ؤ??ޤ??? string
?κǽ??ǥ????ɤΥ??顼??ȯ????????????
_INVALID_RUNE
???ᤵ?졢
*result ?? string ???? 2
?????饯?????ؤ??ޤ???
sputrune
()
?ؿ??ϡ??ޥ????Х??ȥ??ȥ??Ȥ???
rune ???ɤ???
string
????¸???褦?Ȥ??ޤ????????? n
?Х??ȤޤǤ?????¸?????ޤ?????
result ?? NULL
?ǤϤʤ????硢 *result
?ϡ????????ޥ????Х??ȥ????饯????³?????ȥ???
?ǽ??ΥХ??Ȥ??ؤ??褦?????ꤵ???ޤ???
string ?? NULL
?Ǥ??????硢 *result ??
(char *)0 +
x
???ؤ??ޤ??? x
?ϡ??ޥ????Х????ͤ???¸??ɬ?פʥХ??ȿ??Ǥ???
?ޥ????Х??ȥ????饯???? n
????Ĺ???Х??Ȥ??鹽?????졢
result ?? NULL
?ǤϤʤ????硢 *result ??
NULL
?????ꤵ???ޤ???
?ɤΤ褦?ʾ????Ǥ⡢
sputrune
()
?ϡ??ޥ????Х??ȥ????饯???Ȥ???
rune
????¸???뤿????ɬ?פʥХ??ȿ????ᤷ?ޤ???
fgetrune
() ?ؿ??ϡ? 1
?ĤΥ롼?????ǥ????ɤ????Τ??????ΥХ??Ȥ?
stream
?????ɤ߹??⤦?Ȥ??뤳?Ȥ??????С?
sgetrune
()
??Ʊ??ư???ޤ????ե??????ν???????ã??????????
EOF
?????ɤǥ??顼??ȯ????????????
_INVALID_RUNE
???????꤬ȯ?????ʤ??ä??????ϥǥ????ɤ??줿?롼?????ᤷ?ޤ???
fungetrune
() ?ؿ??ϡ?????
fgetrune
() ???ƤӽФ?????????
rune ???ᤵ?????褦?ˡ?
sputrune
() ??Ϳ???? rune
?Υޥ????Х??ȥ????ɤ?
stream
?˥ץå??夷?ޤ??????顼??ȯ????????????
EOF
???ᤷ?????顼??ȯ?????ʤ??ä???????
0
???ᤷ?ޤ???
fputrune
() ?ؿ??ϡ?
sputrune
() ??Ϳ???? rune
?Υޥ????Х??ȥ????ɤ?
stream
?˽??ߤޤ??????顼??ȯ????????????
EOF
???ᤷ?????顼??ȯ?????ʤ??ä???????
0
???ᤷ?ޤ???
setrunelocale
()
?ؿ??ϡ??ʲ????ͤΤɤ줫 1
?Ĥ??ᤷ?ޤ???
0
setrunelocale
()
?????꤬ȯ?????ޤ????Ǥ?????
- [
EFAULT
]
- locale ??
NULL
?ˤʤäƤ??ޤ???
- [
ENOENT
]
- ???????뤬???Ĥ????ޤ?????
- [
EFTYPE
]
- ???Ĥ??ä??ե????뤬???????ե??????ǤϤ????ޤ?????
- [
EINVAL
]
- ?????????Ǽ??????륨???ɤ?̤?ΤΤ??ΤǤ???
sgetrune
()
?ؿ??ϡ??ɤ߹??????롼????
_INVALID_RUNE
???ᤷ?ޤ???
sputrune
()
?ؿ??ϡ??ޥ????Х??ȥ??ȥ??Ȥ???
rune
????¸???뤿????ɬ?פʥХ??ȿ????ᤷ?ޤ???
- $PATH_LOCALE/locale/LC_CTYPE
-
- /usr/share/locale/locale/LC_CTYPE
- ???????? locale ?ΥХ??ʥ? LC_CTYPE
?ե?????
ANSI C ?? wchar_t ???ϡ? rune_t
??Ʊ???Ǥ??????????????? ANSI C
?ץ??ߥƥ??֤??ƥ????????Ȥ??ʤ??ΰդ??????Ǥ??뤳?Ȥ???Ĵ???뤿????
rune_t ?????Ф??ޤ?????
???δؿ??ϡ? 4.4BSD
?ǽ??????о줷?ޤ?????
setrunelocale
()
?ؿ??Ȥ???¾???? ANSI ?롼???ؿ??ϡ? ANSI
?ޥ????Х??Ȥȥ磻?ɥ????饯?????ݡ??ȤΤ????μ¤????ذƤȤ??Ƥ?
Bell Labs ?? Plan 9
?˥ҥ??Ȥ????ޤ?????
???٤Ƥ? ANSI
?ޥ????Х??Ȥȥ磻?ɥ????饯???Υ??ݡ??ȴؿ??ϡ?
?롼???ؿ??????Ѥ??ƺ????????Ƥ??ޤ???