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

前へ | 次へ | 目次 | 索引

JSY$POS_CURR

> 現在の文字の文字位置の入手，および文字列の終わりのチェック

＜形式＞

> curr-ptr = JSY$POS_CURR ( top-ptr, char-ptr, end-ptr )

＜引数＞

top-ptr
JSY usage | 文字列の先頭を指すポインタ
mechanism | Value渡し
char-ptr
JSY usage | 文字の1バイト目または2バイト目を指すポインタ
mechanism | Value渡し
end-ptr
JSY usage | 文字列の終わりを示すポインタ
mechanism | Value渡し

＜戻り値＞

curr-ptr | 文字の1バイト目を指すポインタ
| char-ptr < top-ptr または char-ptr ≧ end-ptr の場合は0

JSY$CH_RCHAR

> 文字列からの文字の取り出し

＜形式＞

> char-code = JSY$CH_RCHAR ( char-ptr )

＜引数＞

char-ptr
JSY usage | 文字の1バイト目を指すポインタ
mechanism | Value渡し

＜戻り値＞

char-code | ポインタが指している文字の文字コード

JSY$CH_RNEXT

> 文字列からの文字の取り出し，およびポインタの更新

＜形式＞

> char-code = JSY$CH_RNEXT ( char-ptr )

＜引数＞

char-ptr
JSY usage | 文字の1バイト目を指すポインタ
mechanism | Reference渡し

＜戻り値＞

char-code | ポインタが指している文字の文字コード

JSY$CH_WCHAR

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

＜形式＞

> JSY$CH_WCHAR ( char-code, char-ptr )

＜引数＞

char-code
JSY usage | 文字コード
mechanism | Value渡し
char-ptr
JSY usage | 文字の1バイト目を指すポインタ
mechanism | Value渡し

JSY$CH_WNEXT

> 文字列への文字の書き込みおよびポインタの更新

＜形式＞

> JSY$CH_WNEXT ( char-code, char-ptr )

＜引数＞

char-code
JSY usage | 文字コード
mechanism | Value渡し
char-ptr
JSY usage | 文字の1バイト目を指すポインタ
mechanism | Reference渡し

JSY$CH_GCHAR

> 文字列からの文字の取り出し，および文字列の終わりのチェック

＜形式＞

> char-code = JSY$CH_GCHAR ( char-ptr, end-ptr )

＜引数＞

char-ptr
JSY usage | 文字の1バイト目を指すポインタ
mechanism | Value渡し
end-ptr
JSY usage | 文字列の終わりを示すポインタ
mechanism | Value渡し

＜戻り値＞

char-code | ポインタが指している文字の文字コード
| 文字列の終わりを越えていた場合は 'FFFF'(16 進)

JSY$CH_GNEXT

> 文字列からの文字の取り出し，ポインタの更新，および文字列の終わりのチェック

＜形式＞

> char-code = JSY$CH_GNEXT ( char-ptr, end-ptr )

＜引数＞

char-ptr
JSY usage | 文字の1バイト目を指すポインタ
mechanism | Reference渡し
end-ptr
JSY usage | 文字列の終わりを示すポインタ
mechanism | Value渡し

＜戻り値＞

char-code | ポインタが指している文字の文字コード
| 文字列の終わりを越えていた場合は 'FFFF'(16 進)

JSY$CH_PCHAR

> 文字列への文字の書き込み，および文字列の終わりのチェック

＜形式＞

> status = JSY$CH_PCHAR ( char-code, char-ptr, end-ptr )

＜引数＞

char-code
JSY usage | 文字コード
mechanism | Value渡し
char-ptr
JSY usage | 文字の1バイト目を指すポインタ
mechanism | Value渡し
end-ptr
JSY usage | 文字列の終わりを示すポインタ
mechanism | Value渡し

＜戻り値＞

status | 1 : 文字の書き込みができた場合
| 0 : 文字の書き込みができなかった場合
| (end-ptr を越えた)

JSY$CH_PNEXT

> 文字列への文字の書き込み，ポインタの更新，および文字列の終わりのチェック

＜形式＞

> status = JSY$CH_PNEXT ( char-code, char-ptr, end-ptr )

＜引数＞

char-code
JSY usage | 文字コード
mechanism | Value渡し
char-ptr
JSY usage | 文字の1バイト目を指すポインタ
mechanism | Reference渡し
end-ptr
JSY usage | 文字列の終わりを示すポインタ
mechanism | Value渡し

＜戻り値＞

status | 1 : 文字の書き込みができた場合
| 0 : 文字の書き込みができなかった場合
| (end-ptr を越えた)

例)

    #include <stdio.h>
    #include <string.h>

    #define ENCODE( c )\
     ( ( ( ( c ) & 0xff ) << 8 ) |( ( ( c ) & 0xff00 ) >> 8 ) )

    static void     create_display_string();

    main()
    {
        unsigned short int  char_code;
        char        *char_ptr,
                    *end_ptr;
        int         status;
        int         byte_offset = 4;
        char        string[] = "実行前の文字列";
        char        disp_str[32];
        extern int  jsy$ch_pnext();

        char_code = ENCODE( '後' );
        char_ptr = string + byte_offset;
        end_ptr = string + strlen( string );

        printf( "書き込む文字 :%c%c\n",
            ( char_code & 0xff00 ) >> 8, char_code & 0xff );
        create_display_string( char_ptr, disp_str );
        printf( "実行前の文字列 :\"%s\"    実行前の位置の文字 :%s\n",
            string, disp_str );

        status = jsy$ch_pnext( char_code, &char_ptr, end_ptr );

        create_display_string( char_ptr, disp_str );
        printf( "実行後の文字列 :\"%s\"    実行後の位置の文字 :%s    ステータス :%1d\n",)
            string, disp_str, status );
    }

    static void     create_display_string(src, disp)
    char    *src;
    char    *disp;
    {
        int nof_byte_char = 1;
        unsigned char       check;

        check = (unsigned char)(*src);
        if ( ( 0x0A1 <= check ) && ( check <= 0x0FE ) )     /* 範囲内なら2バイト文字 */
            nof_byte_char = 2;

        strncpy( disp, src, nof_byte_char );
        disp[ nof_byte_char ] = '\0';
    }

JSY$CH_SIZE

> 文字が占めるバイト数の入手

＜形式＞

> nof-byte = JSY$CH_SIZE ( char-code )

＜引数＞

char-code
JSY usage | 文字コード
mechanism | Value渡し

＜戻り値＞

nof-byte | 文字コードが255以下の場合は1，256以上の場合は2

JSY$CH_NBYTE

> 文字列が占めるバイト数の入手

＜形式＞

> nof-byte = JSY$CH_NBYTE ( top-ptr, nof-char )

＜引数＞

top-ptr
JSY usage | 文字列の先頭を指すポインタ
mechanism | Value渡し
nof-char
JSY usage | 文字数
mechanism | Value渡し

＜戻り値＞

nof-byte | top-ptrからnof-char文字が占めるバイト数

JSY$CH_NCHAR

> 文字列に含まれる文字数の入手

＜形式＞

> nof-char = JSY$CH_NCHAR ( top-ptr, nof-byte )

＜引数＞

top-ptr
JSY usage | 文字列の先頭を指すポインタ
mechanism | Value渡し
nof-byte
JSY usage | バイト数
mechanism | Value渡し

＜戻り値＞

nof-char | top-ptrからnof-byteバイト内にある文字数

JSY$POSITION

> 文字列の検索

＜形式＞

> address = JSY$POSITION ( src-str, src-len, sub-str, sub-len )

＜引数＞

src-str
JSY usage | 検索される文字列の先頭を指すポインタ
mechanism | Value渡し
src-len
JSY usage | 検索される文字列のバイト長
mechanism | Value渡し
sub-str
JSY usage | 検索する文字列の先頭を指すポインタ
mechanism | Value渡し
sub-len
JSY usage | 検索する文字列のバイト長
mechanism | Value渡し

＜戻り値＞

address | 検索する文字列が含まれていた場合は文字列の先頭アドレス
| 文字列が含まれていなければ 0
| sub-len がゼロの場合は src-str

JSY$STR_EQUAL

> 英大文字/小文字，全角/半角，ひらがな/カタカナ変換による文字列の比較

＜形式＞

> status = JSY$STR_EQUAL ( str1, len1, str2, len2, flg )

＜引数＞

str1 |
--- | ---
JSY usage | 比較対象文字列 1 の先頭を指すポインタ
mechanism | Value渡し
len1 |
JSY usage | 比較対象文字列 1 のバイト長
mechanism | Value渡し
str2 |
JSY usage | 比較対象文字列 2 の先頭を指すポインタ
mechanism | Value渡し
len2 |
JSY usage | 比較対象文字列 2 のバイト長
mechanism | Value渡し
flg |
JSY usage | 変換フラグ
| 比較の前に行う変換を指定する。
| bit 0 | 0 : 英大文字/小文字変換を行う
|  | 1 : 英大文字/小文字変換を行わない
| bit 1 | 0 : 全角/半角変換を行う
|  | 1 : 全角/半角変換を行わない
| bit 2 | 0 : ひらがな/カタカナ変換を行う
|  | 1 : ひらがな/カタカナ変換を行わない
mechanism | Value渡し

＜戻り値＞

ret-code | 1 : 文字列1と文字列2が等しい
| 0 : 文字列1と文字列2が等しくない

JSY$STR_START

> 英大文字/小文字，全角/半角，ひらがな/カタカナ変換による文字列の比較
> 文字列1が文字列2で始まっているかどうかを調べる。

＜形式＞

> status = JSY$STR_START ( str1, len1, str2, len2, flg )

＜引数＞

str1 |
--- | ---
JSY usage | 比較対象文字列1の先頭を指すポインタ
mechanism | Value渡し
len1 |
JSY usage | 比較対象文字列1のバイト長
mechanism | Value渡し
str2 |
JSY usage | 比較対象文字列2の先頭を指すポインタ
mechanism | Value渡し
len2 |
JSY usage | 比較対象文字列2のバイト長
mechanism | Value渡し
flg |
JSY usage | 変換フラグ
| 比較の前に行う変換を指定する。
| bit 0 | 0 : 英大文字/小文字変換を行う
|  | 1 : 英大文字/小文字変換を行わない
| bit 1 | 0 : 全角/半角変換を行う
|  | 1 : 全角/半角変換を行わない
| bit 2 | 0 : ひらがな/カタカナ変換を行う
|  | 1 : ひらがな/カタカナ変換を行わない
mechanism | Value渡し

＜戻り値＞

ret-code | 1 : 文字列1が文字列2で始まっている
| 0 : 文字列1が文字列2で始まっていない

前へ | 次へ | 目次 | 索引