日本語 OpenVMS
日本語ライブラリ 利用者の手引き


前へ 次へ 目次 索引


3.3 文字列変換ルーチン

文字列変換ルーチンは,文字列の各種変換を行うルーチン群です。

JLB$TRA_ROM_HALF

ローマ文字全角から半角への変換

例)


        入力文字列      "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 出力結果の切り捨てが行われた

JLB$TRA_ROM_FULL

ローマ文字半角から全角への変換

例)


        入力文字列      "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 出力結果の切り捨てが行われた

JLB$TRA_ROM_SIZE

ローマ文字全角/半角の相互変換

例)


        入力文字列      "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 出力結果の切り捨てが行われた

JLB$TRA_ROM_LOWER

英文字半角/全角の小文字への変換

例)


        入力文字列      "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 出力結果の切り捨てが行われた

JLB$TRA_ROM_UPPER

英文字半角/全角の大文字への変換

例)


        入力文字列      "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 出力結果の切り捨てが行われた

JLB$TRA_ROM_CASE

英文字全角/半角の大文字/小文字の相互変換

例)


        入力文字列      "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 出力結果の切り捨てが行われた

JLB$TRA_ROM_KANA

ローマ字から全角ひらがな/カタカナへの変換

例)


        入力文字列      "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" ); 
    } 
} 

JLB$TRA_KANA_HIRA

全角カタカナから全角ひらがなへの変換

例)


        入力文字列      " あいうえおカキクケコ " 
        出力文字列      " あいうえおかきくけこ " 

<形式>

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 出力結果の切り捨てが行われた

JLB$TRA_KANA_KATA

全角ひらがなから全角カタカナへの変換

例)


        入力文字列      " あいうえおカキクケコ " 
        出力文字列      " アイウエオカキクケコ " 

<形式>

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 出力結果の切り捨てが行われた

JLB$TRA_KANA_KANA

全角ひらがな/全角カタカナの相互変換

例)


        入力文字列      " あいうえおカキクケコ " 
        出力文字列      " アイウエオかきくけこ " 


前へ 次へ 目次 索引