前へ | 次へ | 目次 | 索引 |
文字列変換ルーチンは,文字列の各種変換を行うルーチン群です。
ローマ文字全角から半角への変換
例)
入力文字列 "abcdEFGHijklMNOP" 出力文字列 "abcdEFGHijklMNOP" |
<形式>
ret-status = JLB$TRA_ROM_HALF ( dst-str, src-str [, out-len] )
<引数>
dst-str | |
---|---|
JLB usage | 変換後文字列 |
access | 出力のみ |
mechanism | Descriptor渡し |
src-str | |
JLB usage | 変換前文字列 |
access | 入力のみ |
mechanism | Descriptor渡し |
out-len | |
JLB usage | 変換結果のバイト長 |
type | Word |
access | 出力のみ |
mechanism | Reference渡し |
<戻り値>
ret-status | SS$_NORMAL | 正常終了 |
LIB$_STRTRU | 出力結果の切り捨てが行われた |
ローマ文字半角から全角への変換
例)
入力文字列 "abcdEFGHijklMNOP" 出力文字列 "abcdEFGHijklMNOP" |
<形式>
ret-status = JLB$TRA_ROM_FULL ( dst-str, src-str [, out-len] )
<引数>
dst-str | |
---|---|
JLB usage | 変換後文字列 |
access | 出力のみ |
mechanism | Descriptor渡し |
src-str | |
JLB usage | 変換前文字列 |
access | 入力のみ |
mechanism | Descriptor渡し |
out-len | |
JLB usage | 変換結果のバイト長 |
type | Word |
access | 出力のみ |
mechanism | Reference渡し |
<戻り値>
ret-status | SS$_NORMAL | 正常終了 |
LIB$_STRTRU | 出力結果の切り捨てが行われた |
ローマ文字全角/半角の相互変換
例)
入力文字列 "abcdEFGHijklMNOP" 出力文字列 "abcdEFGHijklMNOP" |
<形式>
ret-status = JLB$TRA_ROM_SIZE ( dst-str, src-str [, out-len] )
<引数>
dst-str | |
---|---|
JLB usage | 変換後文字列 |
access | 出力のみ |
mechanism | Descriptor渡し |
src-str | |
JLB usage | 変換前文字列 |
access | 入力のみ |
mechanism | Descriptor渡し |
out-len | |
JLB usage | 変換結果のバイト長 |
type | Word |
access | 出力のみ |
mechanism | Reference渡し |
<戻り値>
ret-status | SS$_NORMAL | 正常終了 |
LIB$_STRTRU | 出力結果の切り捨てが行われた |
英文字半角/全角の小文字への変換
例)
入力文字列 "abcdEFGHijklMNOP" 出力文字列 "abcdefghijklmnop" |
<形式>
ret-status = JLB$TRA_ROM_LOWER ( dst-str, src-str [, out-len] )
<引数>
dst-str | |
---|---|
JLB usage | 変換後文字列 |
access | 出力のみ |
mechanism | Descriptor渡し |
src-str | |
JLB usage | 変換前文字列 |
access | 入力のみ |
mechanism | Descriptor渡し |
out-len | |
JLB usage | 変換結果のバイト長 |
type | Word |
access | 出力のみ |
mechanism | Reference渡し |
<戻り値>
ret-status | SS$_NORMAL | 正常終了 |
LIB$_STRTRU | 出力結果の切り捨てが行われた |
英文字半角/全角の大文字への変換
例)
入力文字列 "abcdEFGHijklMNOP" 出力文字列 "ABCDEFGHIJKLMNOP" |
<形式>
ret-status = JLB$TRA_ROM_UPPER ( dst-str, src-str [, out-len] )
<引数>
dst-str | |
---|---|
JLB usage | 変換後文字列 |
access | 出力のみ |
mechanism | Descriptor渡し |
src-str | |
JLB usage | 変換前文字列 |
access | 入力のみ |
mechanism | Descriptor渡し |
out-len | |
JLB usage | 変換結果のバイト長 |
type | Word |
access | 出力のみ |
mechanism | Reference渡し |
<戻り値>
ret-status | SS$_NORMAL | 正常終了 |
LIB$_STRTRU | 出力結果の切り捨てが行われた |
英文字全角/半角の大文字/小文字の相互変換
例)
入力文字列 "abcdEFGHijklMNOP" 出力文字列 "ABCDefghIJKLmnop" |
<形式>
ret-status = JLB$TRA_ROM_CASE ( dst-str, src-str [, out-len] )
<引数>
dst-str | |
---|---|
JLB usage | 変換後文字列 |
access | 出力のみ |
mechanism | Descriptor渡し |
src-str | |
JLB usage | 変換前文字列 |
access | 入力のみ |
mechanism | Descriptor渡し |
out-len | |
JLB usage | 変換結果のバイト長 |
type | Word |
access | 出力のみ |
mechanism | Reference渡し |
<戻り値>
ret-status | SS$_NORMAL | 正常終了 |
LIB$_STRTRU | 出力結果の切り捨てが行われた |
ローマ字から全角ひらがな/カタカナへの変換
例)
入力文字列 "ro-maji" 出力文字列 " ろーまじ " ひらがな指定 出力文字列 " ローマジ " カタカナ指定 |
<形式>
ret-status = JLB$TRA_ROM_KANA ( dst-str, src-str [, flg [, out-len]] )
<引数>
dst-str | ||
---|---|---|
JLB usage | 変換後文字列 | |
access | 出力のみ | |
mechanism | Descriptor渡し | |
src-str | ||
JLB usage | 変換前文字列 | |
access | 入力のみ | |
mechanism | Descriptor渡し | |
flg | ||
JLB usage | 変換指示フラグ (省略時は0) | |
type | Byte | |
access | 入力のみ | |
mechanism | Reference渡し | |
bit 0 | 0 : 全角ひらがなへ変換 | |
1 : 全角カタカナへ変換 | ||
out-len | ||
JLB usage | 変換結果のバイト長 | |
type | Word | |
access | 出力のみ | |
mechanism | Reference渡し |
<戻り値>
ret-status | SS$_NORMAL | 正常終了 |
LIB$_STRTRU | 出力結果の切り捨てが行われた |
例)
#include <stdio.h> #include <descrip.h> #include <string.h> #include <ssdef.h> #include <libdef.h> main() { struct dsc$descriptor_s dst_str; struct dsc$descriptor_s src_str; char flg; int ret_status; extern int jlb$tra_rom_kana(); char dst_str_body[] = " "; char src_str_body[] = "nihongo"; dst_str.dsc$b_class = DSC$K_CLASS_S; dst_str.dsc$b_dtype = DSC$K_DTYPE_T; dst_str.dsc$w_length = strlen( dst_str_body ); dst_str.dsc$a_pointer = dst_str_body; src_str.dsc$b_class = DSC$K_CLASS_S; src_str.dsc$b_dtype = DSC$K_DTYPE_T; src_str.dsc$w_length = strlen( src_str_body ); src_str.dsc$a_pointer = src_str_body; for ( flg = 0 ; flg < 2 ; ++flg ) { printf( "変換前文字列 :\"%s\" 変換フラグ :%1d\n", src_str_body, flg ); ret_status = jlb$tra_rom_kana( &dst_str, &src_str, &flg, &dst_str.dsc$w_length ); dst_str_body[ dst_str.dsc$w_length ] = '\0'; printf( "変換後文字列 :\"%s\" 文字列長 :%d ステータス :", dst_str.dsc$a_pointer, dst_str.dsc$w_length ); switch ( ret_status ) { case SS$_NORMAL: printf( "SS$_NORMAL" ); break; case LIB$_STRTRU: printf( "LIB$_STRTRU" ); break; } printf( "\n\n" ); } } |
全角カタカナから全角ひらがなへの変換
例)
入力文字列 " あいうえおカキクケコ " 出力文字列 " あいうえおかきくけこ " |
<形式>
ret-status = JLB$TRA_KANA_HIRA ( dst-str, src-str [, out-len] )
<引数>
dst-str | |
---|---|
JLB usage | 変換後文字列 |
access | 出力のみ |
mechanism | Descriptor渡し |
src-str | |
JLB usage | 変換前文字列 |
access | 入力のみ |
mechanism | Descriptor渡し |
out-len | |
JLB usage | 変換結果のバイト長 |
type | Word |
access | 出力のみ |
mechanism | Reference渡し |
<戻り値>
ret-status | SS$_NORMAL | 正常終了 |
LIB$_STRTRU | 出力結果の切り捨てが行われた |
全角ひらがなから全角カタカナへの変換
例)
入力文字列 " あいうえおカキクケコ " 出力文字列 " アイウエオカキクケコ " |
<形式>
ret-status = JLB$TRA_KANA_KATA ( dst-str, src-str [, out-len] )
<引数>
dst-str | |
---|---|
JLB usage | 変換後文字列 |
access | 出力のみ |
mechanism | Descriptor渡し |
src-str | |
JLB usage | 変換前文字列 |
access | 入力のみ |
mechanism | Descriptor渡し |
out-len | |
JLB usage | 変換結果のバイト長 |
type | Word |
access | 出力のみ |
mechanism | Reference渡し |
<戻り値>
ret-status | SS$_NORMAL | 正常終了 |
LIB$_STRTRU | 出力結果の切り捨てが行われた |
全角ひらがな/全角カタカナの相互変換
例)
入力文字列 " あいうえおカキクケコ " 出力文字列 " アイウエオかきくけこ " |
<形式>
ret-status = JLB$TRA_KANA_KANA ( dst-str, src-str [, out-len] )
<引数>
dst-str | |
---|---|
JLB usage | 変換後文字列 |
access | 出力のみ |
mechanism | Descriptor渡し |
src-str | |
JLB usage | 変換前文字列 |
access | 入力のみ |
mechanism | Descriptor渡し |
out-len | |
JLB usage | 変換結果のバイト長 |
type | Word |
access | 出力のみ |
mechanism | Reference渡し |
<戻り値>
ret-status | SS$_NORMAL | 正常終了 |
LIB$_STRTRU | 出力結果の切り捨てが行われた |
前へ | 次へ | 目次 | 索引 |