̾??
vis
—
?????饯????????Ū?˥????ɲ?
Standard C Library (libc, -lc)
<vis.h>
char *
vis
(char
*dst, int c, int flag,
int nextc) int
strvis
(char *dst,
const char *src, int flag)
int
strvisx
(char *dst,
const char *src, size_t len,
int flag)
vis
() ?ؿ??ϡ??????饯??
c ??ɽ??ʸ?????? dst
?˥??ԡ????ޤ??? c
???????ɲ???ɬ?פȤ??ʤ??????ϡ??????ѹ??????˥??ԡ????ޤ???
ʸ?????? null
?ǽ?ü???졢ʸ?????κǸ??ؤΥݥ????֤????ޤ???
?????ɲ???Ĺ???κ????ͤ? 4 ?????饯???Ǥ?
(?Ǹ??? NUL
?ϴޤޤʤ?)?????äơ??????饯???Υ??åȤ?
?Хåե??˥????ɲ??????Ȥ??ϡ??Хåե??Υ??????ϥ????ɲ???????
?????饯?????? 4 ?ܤȡ??Ǹ????դ???
NUL
??ʬ?? 1
??ɬ?פǤ????????ɲ?????
?????饯???Υǥե??????ϰϤ??ѹ????뤿?ᡢ?ޤ?????Ū??ɽ????
?ѹ????뤿???ˤϥե饰?ѥ???????Ȥ??ޤ????ɲäΥ????饯????
nextc ?ϡ??????ɲ?????
VIS_CSTYLE
???????Ȥ??ˤΤȤ??ޤ?
(?ʲ??????????ޤ?)??
strvis
()
??????
strvisx
()
?ؿ??ϡ?ʸ???? src
?λ???Ūɽ???? dst
?˥??ԡ????ޤ??? strvis
()
?ؿ??ϡ? src ?????ǽ???
NUL
?ޤǤΥ????饯?????ɲ????ޤ???
strvisx
() ?ؿ??ϡ?
src ???????Τ? len
?ĤΥ????饯?????ɲ????ޤ?
(?????ϡ?ʣ???? NUL
???ޤ???ǽ???Τ????ǡ????Υ֥??å???
?????ɲ???????????????Ω???ޤ?)???ɤ????η????Ǥ?
dst ?? NUL
?ǽ?ü???ޤ??? dst
?Υ??????ϡ? src
???饳???ɲ??????륭???饯?????? 4
?ܤǤʤ????Фʤ??ޤ???
(?ץ饹 NUL
?Τ?????
1)???ɤ????η????Ǥ⡢?????饯??????
dst ???֤??ޤ? (?Ǹ???
NUL
?ϴޤޤ???)??
?????ɲ??ϡ????٤ƥ????ե??å??????饯???ǹ??????줿???ˡ?????
???Ѵ???ǽ??ɽ???Ǥ??????ʤ?????
unvis(3)
?ޤ???
strunvis(3)
?ؿ????Ȥ??и??η????᤹???Ȥ??Ǥ??ޤ???
?????Ǥ????ѥ?????? 2
?Ĥ????ޤ?:?????ɲ????륭???饯?????ϰϡ?
?????ӻ??Ѥ???ɽ???Υ????פǤ????ǥե????ȤǤϡ????ڡ????????֡????Ԥ?
???????٤Ƥ????ե??å??????饯?????????ɲ??????ޤ???(
isgraph(3)
????)
?????ϡ??ʲ??Υե饰?ˤ??ä??ѹ??????ޤ?:
VIS_SP
- ???ڡ????⥳???ɲ????ޤ???
VIS_TAB
- ???֤⥳???ɲ????ޤ???
VIS_NL
- ???Ԥ⥳???ɲ????ޤ???
- VIS_WHITE
VIS_SP
|
VIS_TAB
| VIS_NL
??Ʊ????
VIS_SAFE
- "unsafe"
?????饯???Τߤ??ɲ????ޤ???"unsafe"?????饯???Ȥϡ?
???̤?ü????ͽ?????ʤ???ǽ?????????????褦?????業???饯??
?Τ??ȤǤ??????ߤΤȤ????????η????ǤϤ??٤ƤΥ????ե??å??????饯????
?ä??ơ????ڡ????????֡????ԡ??Хå????ڡ??????٥롢???????
?????ɲ????ʤ??Ǥ????ޤ???
?????ɲ??ˤ? 4
?Ĥη??????????ޤ??????٤Ƥη????ϡ?
?Хå??????å??奭???饯??
‘\
’
???Ȥä??ü쥷??????Ƴ?????ޤ????????ΥХå??????å?????ɽ???ˤϡ?
2
?ĤΥХå??????å??????Ȥ??ޤ??????Τ褦?ʻ???Ū???????????ޤ?:
- (default)
- ‘
M
’
???Ȥäƥ?????饯?? (8
???ܤΥӥåȤ????åȤ??줿
?????饯??) ??ɽ?????????å?
‘^
’
???Ȥä????業???饯????ɽ???ޤ? (
iscntrl(3)
????)?? ???Τ褦?ʷ??????Ȥ??ޤ???
\^C
- ???業???饯?? ‘
C
’
??ɽ???ޤ??? ‘\000
’
???? ‘\037
’
?ޤǡ??????? ‘\177
’
?Υ????饯???? ?ޤߤޤ? (
?Τ褦??)??
\M-C
- 8
???ܤΥӥåȤ????åȤ??줿?????饯??
‘
C
’ ??ɽ???ޤ???
‘\241
’ ????
‘\377
’
?ޤǤΥ????饯?????ޤߤޤ???
\M^C
- 8
???ܤΥӥåȤ????åȤ??줿???業???饯??
‘
C
’ ??ɽ???ޤ???
‘\200
’ ????
‘\237
’ ?ޤǡ???????
?Υ????饯?????ޤߤޤ? (
‘\M^?
’
?Τ褦??)??
\040
- ASCII ?Υ??ڡ?????ɽ???ޤ???
\240
- ????ڡ?????ɽ???ޤ???
VIS_CSTYLE
- C
?????????ΥХå??????å??奷???????Ȥäơ?ɸ????????
?????饯????ɽ???ޤ??????˼????????????Ȥäơ????ꤵ???Ƥ??륭???饯??
??ɽ???ޤ???
\a
- BEL (007)
\b
- BS (010)
\f
- NP (014)
\n
- NL (012)
\r
- CR (015)
\t
- HT (011)
\v
- VT (013)
\0
- NUL (000)
???η??????Ȥ??????ϡ?nextc
?ѥ?????? NUL
?????饯???? ‘\000
’
?ǤϤʤ? ‘\0
’
?ȥ????ɲ????뤫?ɤ?????Ƚ?Ǥ??ޤ???
nextc ?? 8
?ʿ????Ǥ????????ϡ??????ޤ??????뤿????
‘\000
’
??ɽ?????Ȥ??ޤ???
VIS_HTTPSTYLE
- RFC 1808 ?˵??Ҥ??줿 URI
?????ɤ????Ѥ??ޤ??? ??????
‘
%dd
’ ?Ǥ??ꡢ
d ?ϡ?16
?ʿ??η???ɽ?????ޤ???
VIS_OCTAL
- 3 ???? 8 ??ˡ?????????Ȥ??ޤ???
d ?? 8 ?ʿ?????ɽ???????ϡ???????
‘
\ddd
’
?Ȥʤ??ޤ???
?⤦???ĤΥե饰??
VIS_NOSLASH
?ϡ??Хå??????å????ν?ʣ?????ӥǥե????ȷ???
(???ʤ????? ???業???饯????
‘^C
’
?ǡ???????饯????
‘M-C
’ ??ɽ??????)
?????ΥХå??????å????????????ޤ??????Υե饰?????å?
???Ƥ????ȡ??????ɲ??Ϥ????ޤ??Ȥʤ????Ѵ???ǽ?Ȥʤ??ޤ???
???????δؿ??? 4.4BSD
?ǤϤ??????о줷?ޤ?????