  | 
≫  | 
 | 
  
 | 
    
      | 
    
    
    
     
HP OpenVMS HP C ランタイム・ライブラリ・リファレンス・マニュアル (上巻)
  
第 3 章 文字,文字列,引数リスト関数
 
表 3-1 は, HP C Run-Time Library (RTL) で提供される文字,文字列,および引数リスト関数を示しています。この章ではこれらの関数について説明しますが,各関数の詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)』「リファレンス・セクション」を参照してください。  
 
表 3-1 文字,文字列,引数リスト関数
 
 
| 
isalnum
,
iswalnum
 | 
引数が現在のロケールで英数字のいずれかである場合は,0 以外の整数を返す。
 | 
 
| 
isalpha
,
iswalpha
 | 
引数が現在のロケールで英字のいずれかである場合は,0 以外の整数を返す。
 | 
 
| 
isascii
 | 
引数が ASCII 文字である場合は,0 以外の整数を返す。
 | 
 
| 
iscntrl
,
iswcntrl
 | 
引数が現在のロケールで制御文字である場合は, 0 以外の整数を返す。
 | 
 
| 
isdigit
,
iswdigit
 | 
引数が現在のロケールで数字である場合は, 0 以外の整数を返す。
 | 
 
| 
isgraph
,
iswgraph
 | 
引数が現在のロケールでグラフィック文字である場合は, 0 以外の整数を返す。
 | 
 
| 
islower
,
iswlower
 | 
引数が現在のロケールで小文字である場合は, 0 以外の整数を返す。
 | 
 
| 
isprint
,
iswprint
 | 
引数が現在のロケールでプリント文字である場合は, 0 以外の整数を返す。
 | 
 
| 
ispunct
,
iswpunct
 | 
引数が現在のロケールで句読点文字である場合は, 0 以外の整数を返す。
 | 
 
| 
isspace
,
iswspace
 | 
引数が現在のロケールで空白文字である場合は, 0 以外の整数を返す。
 | 
 
| 
isupper
,
iswupper
 | 
引数が現在のロケールで大文字である場合は, 0 以外の整数を返す。
 | 
 
| 
iswctype
 | 
指定されたプロパティを引数が持つ場合,0 以外の整数を返す。
 | 
 
| 
isxdigit
,
iswxdigit
 | 
引数が 16 進数の (0〜9,A〜F,a〜f) である場合は, 0 以外の整数を返す。
 | 
 
 
| 
btowc
 | 
1 バイトのマルチバイト文字を初期シフト状態でワイド文字に変換する。
 | 
 
| 
ecvt, fcvt, gcvt
 | 
引数を ASCII 数字列に変換し,末尾にヌル文字を付加し,文字列のアドレスを返す。
 | 
 
| 
index, rindex
 | 
文字列から文字を検索する。
 | 
 
| 
mblen
,
mbrlen
 | 
マルチバイト文字に含まれるバイト数を判断する。
 | 
 
| 
mbsinit
 | 
mbstate_t
オブジェクトが初期変換状態を記述するかどうかを判断する。
 | 
 
| 
mbstowcs
 | 
マルチバイト文字シーケンスを対応するコード・シーケンスに変換する。
 | 
 
| 
toascii
 | 
8 ビットの ASCII 文字である引数を 7 ビットの ASCII 文字に変換する。
 | 
 
| 
tolower, _tolower, towlower
 | 
大文字の引数を小文字に変換する。
 | 
 
| 
toupper, _toupper, towupper
 | 
小文字の引数を大文字に変換する。
 | 
 
| 
towctrans
 | 
指定されたマッピング記述子に従って,1 文字のワイド文字を別の文字に変換する。
 | 
 
| 
wcstombs
 | 
マルチバイト文字に対応するワイド文字コード・シーケンスをマルチバイト文字シーケンスに変換する。
 | 
 
| 
wctob
 | 
ワイド文字が 1 バイトのマルチバイト文字に対応するかどうか判断し,そのマルチバイト文字表現を返す。
 | 
 
| 
wctomb
 | 
ワイド文字をマルチバイト文字表現に変換する。
 | 
 
| 
wctrans
 | 
指定されたプロパティに対応するマッピングの記述を返す。この記述は後で
towctrans
の呼び出しで使用できる。
 | 
 
| 
wctype
 | 
現在のロケールで定義されている正しい文字クラスを,
wctype_t
型のオブジェクトに変換する。
 | 
 
 
| 
atof
 | 
指定された文字列を倍精度数値に変換する。
 | 
 
| 
atoi, atol
 | 
ASCII 文字列を適切な数値に変換する。
 | 
 
| 
atoll, atoq
(Integrity,Alpha)  
 | 
ASCII 文字列を
__int64
に変換する。
 | 
 
| 
basename
 | 
パス名の最後のコンポーネントを返す。
 | 
 
| 
dirname
 | 
ファイル・パス名の親ディレクトリ名を報告する。
 | 
 
| 
strcat, strncat, wcscat, wcsncat
 | 
1 つの文字列を別の文字列の末尾に追加する。
 | 
 
| 
strchr, strrchr, wcschr, wcsrchr
 | 
ヌル区切り文字列の中で指定された文字の最初または最後の発生箇所のアドレスを返す。
 | 
 
| 
strcmp, strncmp, strcoll, wcscmp, wcsncmp, wcscoll
 | 
2 つの文字列を比較し,最初の文字列の各文字の値が 2 番目の文字列の値より小さいか,等しいか,大きいかを示す。結果に応じて負の整数,0,正の整数のいずれかを返す。
 | 
 
| 
strcpy, strncpy, wcscpy, wcsncpy
 | 
1 つの文字列全体またはその一部を別の文字列にコピーする。
 | 
 
| 
strxfrm, wcsxfrm
 | 
strcmp
または
wcscmp
関数を使用して比較できるように,マルチバイト文字列を別の文字列に変換する。
 | 
 
| 
strcspn, wcscspn
 | 
指定された文字セットに含まれる文字を文字列から検索する。
 | 
 
| 
strlen, wcslen
 | 
文字列の長さを返す。返される長さには,文字列の末尾のヌル文字 (\0) は含まれない。
 | 
 
| 
strpbrk, wcspbrk
 | 
指定された文字セットに含まれる文字の発生箇所を文字列から検索する。
 | 
 
| 
strspn, wcsspn
 | 
指定された文字セットに含まれない文字の発生箇所を文字列から検索する。
 | 
 
| 
strstr, wcswcs
 | 
指定された文字セットに含まれる文字の最初の発生箇所を文字列から検索する。
 | 
 
| 
strtod, wcstod
 | 
指定された文字列を倍精度の数値に変換する。
 | 
 
| 
strtok, wcstok
 | 
テキスト・トークンを指定された文字列に配置する。
 | 
 
| 
strtol, wcstol
 | 
文字列の最初の部分を符号付きロング整数に変換する。
 | 
 
| 
strtoll, strtoq
(Integrity,Alpha)  
 | 
文字列の最初の部分を符号付き
__int64
に変換する。
 | 
 
| 
strtoul, wcstoul
 | 
文字列の最初の部分を符号なしロング整数に変換する。
 | 
 
| 
strtoull, strtouq
(Integrity,Alpha)  
 | 
文字列を指すポインタによって示される文字列の最初の部分を符号なし
__int64
に変換する。
 | 
 
 
| 
bcmp
 | 
バイト列を比較する。
 | 
 
| 
bcopy
 | 
バイト列をコピーする。
 | 
 
| 
bzero
 | 
ヌル文字をバイト列にコピーする。
 | 
 
| 
memchr, wmemchr
 | 
検索するオブジェクトの最初の長さの範囲内から,指定されたバイトの最初の発生箇所を検索する。
 | 
 
| 
memcmp, wmemcmp
 | 
2 つのオブジェクトをバイト単位で比較する。
 | 
 
| 
memcpy, memmove, wmemcpy, wmemmove
 | 
指定されたバイト数を 1 つのオブジェクトから別のオブジェクトにコピーする。
 | 
 
| 
memset, wmemset
 | 
指定されたオブジェクト内の指定されたバイト数を指定された値に設定する。
 | 
 
 
| 
va_arg
 | 
引数リストの次のアイテムを返す。
 | 
 
| 
va_count
 | 
引数リストでクォドワード (Alpha only) の数を返す。
 | 
 
| 
va_end
 | 
va_start
セッションを終了する。
 | 
 
| 
va_start, va_start_1
 | 
変数を引数リストの先頭に初期化する。
 | 
 
| 
vfprintf, vprintf, vsprintf
 | 
引数リストをもとに書式設定された出力を印刷する。
 | 
 
 
  
 文字分類関数は,論理操作を実行する対象となる 1 つの引数を受け付けます。引数はどのような値でも構いません。ASCII 文字である必要はありません。
isascii関数は,引数が ASCII 文字 (8 進数の 0〜177) であるかどうかを判断します。他の関数は,引数がグラフィック文字や数字など,特定の種類の ASCII 文字であるかどうかを確認します。
isw* 関数はワイド文字を判定します。文字分類情報はプログラムの現在のロケールの LC_CTYPE カテゴリにあります。
 どの関数の場合も,戻り値が正の値の場合は TRUE を示します。戻り値が 0 の場合は FALSE を示します。
 この後の表では,文字分類関数を簡単に参照できるように, 表 3-2 に示す番号が各関数に割り当てられています。
 
 
表 3-2 文字分類関数
 
| 1
 | 
isalnum
 | 
7
 | 
islower
 | 
 
| 2
 | 
isalpha
 | 
8
 | 
isprint
 | 
 
| 3
 | 
isascii
 | 
9
 | 
ispunct
 | 
 
| 4
 | 
iscntrl
 | 
10
 | 
isspace
 | 
 
| 5
 | 
isdigit
 | 
11
 | 
isupper
 | 
 
| 6
 | 
isgraph
 | 
12
 | 
isxdigit
 | 
 
 
 
表 3-3 は,各 ASCII 文字に対して TRUE という戻り値を返す関数の番号 ( 表 3-2 で割り当てられた番号) を示しています。数値コードは,各 ASCII 文字の 8 進コードを表しています。  
 
表 3-3 ASCII 文字と文字分類関数
 
| NUL 00
 | 
3,4
 | 
@ 100
 | 
3,6,8,9
 | 
 
| SOH 01
 | 
3,4
 | 
A 101
 | 
1,2,3,6,8,11,12
 | 
 
| STX 02
 | 
3,4
 | 
B 102
 | 
1,2,3,6,8,11,12
 | 
 
| ETX 03
 | 
3,4
 | 
C 103
 | 
1,2,3,6,8,11,12
 | 
 
| EOT 04
 | 
3,4
 | 
D 104
 | 
1,2,3,6,8,11,12
 | 
 
| ENQ 05
 | 
3,4
 | 
E 105
 | 
1,2,3,6,8,11,12
 | 
 
| ACK 06
 | 
3,4
 | 
F 106
 | 
1,2,3,6,8,11,12
 | 
 
| BEL 07
 | 
3,4
 | 
G 107
 | 
1,2,3,6,8,11
 | 
 
| BS 10
 | 
3,4
 | 
H 110
 | 
1,2,3,6,8,11
 | 
 
| HT 11
 | 
3,4,10
 | 
I 111
 | 
1,2,3,6,8,11
 | 
 
| LF 12
 | 
3,4,10
 | 
J 112
 | 
1,2,3,6,8,11
 | 
 
| VT 13
 | 
3,4,10
 | 
K 113
 | 
1,2,3,6,8,11
 | 
 
| FF 14
 | 
3,4,10
 | 
L 114
 | 
1,2,3,6,8,11
 | 
 
| CR 15
 | 
3,4,10
 | 
M 115
 | 
1,2,3,6,8,11
 | 
 
| SO 16
 | 
3,4
 | 
N 116
 | 
1,2,3,6,8,11
 | 
 
| SI 17
 | 
3,4
 | 
O 117
 | 
1,2,3,6,8,11
 | 
 
|  
 | 
 
 | 
 
 | 
 
 | 
 
| DLE 20
 | 
3,4
 | 
P 120
 | 
1,2,3,6,8,11
 | 
 
| DC1 21
 | 
3,4
 | 
Q 121
 | 
1,2,3,6,8,11
 | 
 
| DC2 22
 | 
3,4
 | 
R 122
 | 
1,2,3,6,8,11
 | 
 
| DC3 23
 | 
3,4
 | 
S 123
 | 
1,2,3,6,8,11
 | 
 
| DC4 24
 | 
3,4
 | 
T 124
 | 
1,2,3,6,8,11
 | 
 
| NAK 25
 | 
3,4
 | 
U 125
 | 
1,2,3,6,8,11
 | 
 
| SYN 26
 | 
3,4
 | 
V 126
 | 
1,2,3,6,8,11
 | 
 
| ETB 27
 | 
3,4
 | 
W 127
 | 
1,2,3,6,8,11
 | 
 
|  
 | 
 
 | 
 
 | 
 
 | 
 
| CAN 30
 | 
3,4
 | 
X 130
 | 
1,2,3,6,8,11
 | 
 
| EM 31
 | 
3,4
 | 
Y 131
 | 
1,2,3,6,8,11
 | 
 
| SUB 32
 | 
3,4
 | 
Z 132
 | 
1,2,3,6,8,11
 | 
 
| ESC 33
 | 
3,4
 | 
[ 133
 | 
3,6,8,9
 | 
 
| FS 34
 | 
3,4
 | 
\ 134
 | 
3,6,8,9
 | 
 
| GS 35
 | 
3,4
 | 
] 135
 | 
3,6,8,9
 | 
 
| RS 36
 | 
3,4
 | 
^ 136
 | 
3,6,8,9
 | 
 
| US 37
 | 
3,4
 | 
-- 137
 | 
3,6,8,9
 | 
 
|  
 | 
 
 | 
 
 | 
 
 | 
 
| SP 40
 | 
3,8,10
 | 
?` 140
 | 
3,6,8,9
 | 
 
| ! 41
 | 
3,6,8,9
 | 
a 141
 | 
1,2,3,6,7,8,12
 | 
 
| " 42
 | 
3,6,8,9
 | 
b 142
 | 
1,2,3,6,7,8,12
 | 
 
| # 43
 | 
3,6,8,9
 | 
c 143
 | 
1,2,3,6,7,8,12
 | 
 
| $ 44
 | 
3,6,8,9
 | 
d 144
 | 
1,2,3,6,7,8,12
 | 
 
| % 45
 | 
3,6,8,9
 | 
e 145
 | 
1,2,3,6,7,8,12
 | 
 
| & 46
 | 
3,6,8,9
 | 
f 146
 | 
1,2,3,6,7,8,12
 | 
 
| ' 47
 | 
3,6,8,9
 | 
g 147
 | 
1,2,3,6,7,8
 | 
 
|  
 | 
 
 | 
 
 | 
 
 | 
 
| ( 50
 | 
3,6,8,9
 | 
h 150
 | 
1,2,3,6,7,8
 | 
 
| ) 51
 | 
3,6,8,9
 | 
i 151
 | 
1,2,3,6,7,8
 | 
 
| * 52
 | 
3,6,8,9
 | 
j 152
 | 
1,2,3,6,7,8
 | 
 
| + 53
 | 
3,6,8,9
 | 
k 153
 | 
1,2,3,6,7,8
 | 
 
| ' 54
 | 
3,6,8,9
 | 
l 154
 | 
1,2,3,6,7,8
 | 
 
| - 55
 | 
3,6,8,9
 | 
m 155
 | 
1,2,3,6,7,8
 | 
 
| ?. 56
 | 
3,6,8,9
 | 
n 156
 | 
1,2,3,6,7,8
 | 
 
| / 57
 | 
3,6,8,9
 | 
o 157
 | 
1,2,3,6,7,8
 | 
 
|  
 | 
 
 | 
 
 | 
 
 | 
 
| 0 60
 | 
1,3,5,6,8,12
 | 
p 160
 | 
1,2,3,6,7,8
 | 
 
| 1 61
 | 
1,3,5,6,8,12
 | 
q 161
 | 
1,2,3,6,7,8
 | 
 
| 2 62
 | 
1,3,5,6,8,12
 | 
r 162
 | 
1,2,3,6,7,8
 | 
 
| 3 63
 | 
1,3,5,6,8,12
 | 
s 163
 | 
1,2,3,6,7,8
 | 
 
| 4 64
 | 
1,3,5,6,8,12
 | 
t 164
 | 
1,2,3,6,7,8
 | 
 
| 5 65
 | 
1,3,5,6,8,12
 | 
u 165
 | 
1,2,3,6,7,8
 | 
 
| 6 66
 | 
1,3,5,6,8,12
 | 
v 166
 | 
1,2,3,6,7,8
 | 
 
| 7 67
 | 
1,3,5,6,8,12
 | 
w 167
 | 
1,2,3,6,7,8
 | 
 
|  
 | 
 
 | 
 
 | 
 
 | 
 
| 8 70
 | 
1,3,5,6,8,12
 | 
x 170
 | 
1,2,3,5,6,8
 | 
 
| 9 71
 | 
1,3,5,6,8,12
 | 
y 171
 | 
1,2,3,5,6,8
 | 
 
| : 72
 | 
3,6,8,9
 | 
z 172
 | 
1,2,3,5,6,8
 | 
 
| ; 73
 | 
3,6,8,9
 | 
{ 173
 | 
3,6,8,9
 | 
 
| < 74
 | 
3,6,8,9
 | 
| 174
 | 
3,6,8,9
 | 
 
| = 75
 | 
3,6,8,9
 | 
} 175
 | 
3,6,8,9
 | 
 
| > 76
 | 
3,6,8,9
 | 
?~ 176
 | 
3,6,8,9
 | 
 
| ? 77
 | 
3,6,8,9
 | 
DEL 177
 | 
3,4
 | 
 
 
 
 
 
      |