日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


 

OpenVMSドキュメント
ライブラリ

タイトルページ
目次
まえがき
第 1 章:概要
第 2 章:日本語ライブラリの使用例
第 3 章:汎用ライブラリ
第 4 章:基本ライブラリ
第 5 章:かな漢字変換ライブラリ
第 6 章:漢字コード変換ライブラリ
付録 A :変換キー配列
付録 B :変換対応表
索引
PDF
OpenVMS ホーム

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


目次 索引




文字列からの文字の取り出しおよびインデックスの更新

形式

char-code = JLB$RNEXT ( src-str [, pos] )


引数


src-str
        JLB usage 入力文字列
        access 入力のみ
        mechanism Descriptor渡し
pos
        JLB usage 文字位置
        type Longword
        access 更新
        mechanism Reference渡し


戻り値

char-code 文字コード




文字列への文字の書き込み

形式

ret-status = JLB$WCHAR ( char-code, dst-str [, pos] )


引数


char-code
        JLB usage 文字コード
        type Longword
        access 入力のみ
        mechanism Reference渡し
dst-str
        JLB usage 出力文字列
        access 出力のみ
        mechanism Descriptor渡し
pos
        JLB usage 文字位置
        type Longword
        access 入力のみ
        mechanism Reference渡し


戻り値

ret-status 1 : 正常終了
  0 : 出力文字列の長さが短い




文字列への文字の書き込みおよびインデックスの更新

形式

ret-status = JLB$WNEXT ( char-code, dst-str [, pos] )


引数


char-code
        JLB usagec: 文字コード
        type Longword
        access 入力のみ
        mechanism Reference渡し
dst-str
        JLB usage 出力文字列
        access 出力のみ
        mechanism Descriptor渡し
pos
        JLB usage 文字位置
        type Longword
        access 更新
        mechanism Reference渡し


戻り値

ret-status 1 : 正常終了
  0 : 出力文字列の長さが短い



3.3 文字列変換ルーチン

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


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

形式

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


        入力文字列      "abcdEFGHijklMNOP" 
        出力文字列      "ABCDefghIJKLmnop" 




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

形式

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


入力文字列と出力文字列の例:

        入力文字列      "ro-maji" 
        出力文字列      " ろーまじ "            ひらがな指定 
        出力文字列      " ローマジ "            カタカナ指定 

サンプル・コード:

#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" ); 
    } 
} 


目次 索引

© 2012 Hewlett-Packard Development Company, L.P.