| 前へ | 次へ | 目次 | 索引 |
文字列変換ルーチンは,文字列の各種変換を行うルーチン群です。
ローマ文字全角から半角への変換
例)
入力文字列 "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 | 出力結果の切り捨てが行われた |
| 前へ | 次へ | 目次 | 索引 |