日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
日本語 OpenVMS
|
目次 | 索引 |
JLB$STR_START |
英大文字/小文字,全角/半角,ひらがな/カタカナ変換による文字列の比較
文字列1が文字列2で始まっているかどうかを調べます。
match = JLB$STR_START ( str1, str2 [, flg])
strl JLB usage 比較対象文字列1 access 入力のみ mechanism Descriptor渡し str2 JLB usage 比較対象文字列2 access 入力のみ mechanism Descriptor渡し flg JLB usage 変換フラグ type Byte access 入力のみ type Reference渡し 比較の前に行う変換を指定する。 bit 0 0 : 英大文字/小文字変換を行う 1 : 英大文字/小文字変換を行わない bit 1 0 : 全角/半角変換を行う 1 : 全角/半角変換を行わない bit 2 0 : ひらがな/カタカナ変換を行う 1 : ひらがな/カタカナ変換を行わない
match 1 : 文字列 1 が文字列 2 で始まっている 0 : 文字列 1 が文字列 2 で始まっていない
JLB$STR_SEARCH |
英大文字/小文字,全角/半角,ひらがな/カタカナ変換による文字列の検索
検索文字列が含まれていない場合は0を返します。
index = JLB$STR_SEARCH ( src-str, sub-str[[, start-pos][, flg]] )
src-str JLB usage 入力文字列 access 入力のみ mechanism Descriptor渡し sub-str JLB usage 検索文字列 access 入力のみ mechanism Descriptor渡し start-pos JLB usage 検索開始文字位置 (省略時は1) type Longword access 入力のみ mechanism Reference渡し flg JLB usage 変換フラグ (省略時は0) type Byte access 入力のみ mechanism Reference渡し 検索の前に行う変換を指定する。 bit 0 0 : 英大文字/小文字変換を行う 1 : 英大文字/小文字変換を行わない bit 1 0 : 全角/半角変換を行う 1 : 全角/半角変換を行わない bit 2 0 : ひらがな/カタカナ変換を行う 1 : ひらがな/カタカナ変換を行わない
index 検索文字列が含まれている場合はその開始位置 検索文字列が含まれていなければ 0 検索文字列の長さがゼロの場合は 1
#include <stdio.h> #include <descrip.h> #include <string.h> main() { struct dsc$descriptor_s src_str; struct dsc$descriptor_s sub_str; char flg; int index; extern int jlb$str_search(); char src_str_body[] = "日本語ライブラリ", sub_str_body[] = "らいぶらり"; int start_pos = 1; 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; sub_str.dsc$b_class = DSC$K_CLASS_S; sub_str.dsc$b_dtype = DSC$K_DTYPE_T; sub_str.dsc$w_length = strlen( sub_str_body ); sub_str.dsc$a_pointer = sub_str_body; printf( "文字列 1:\"%s\" 文字列 2:\"%s\"\n", src_str_body, sub_str_body); for ( flg = 0; flg < 8; ++flg ) { index = jlb$str_search( &src_str, &sub_str, &start_pos, &flg ); printf( "変換フラグ :%1d 結果 :%d\n", flg, index ); } }
JLB$TRIM |
文字列の後の空白の切り捨て
文字列の後に含まれる空白(半角および全角)ならびにタブを切り捨てます。
ret-status = JLB$TRIM ( 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
#include <stdio.h> #include <descrip.h> #include <ssdef.h> #include <libdef.h> #include <string.h> #include <ssdef.h> #include <stsdef.h> #include <varargs.h> main() { struct dsc$descriptor_s dst_str; struct dsc$descriptor_s src_str; int ret_status; extern int jlb$trim(); char src_str_body[] = "日本語 "; char dst_str_body[] = "外国人 "; dst_str.dsc$b_class = src_str.dsc$b_class = DSC$K_CLASS_S; dst_str.dsc$b_dtype = src_str.dsc$b_dtype = DSC$K_DTYPE_T; src_str.dsc$w_length = strlen (src_str_body); dst_str.dsc$w_length = strlen (dst_str_body); src_str.dsc$a_pointer = src_str_body; dst_str.dsc$a_pointer = dst_str_body; printf( "入力文字列 :\"%s\"\n", src_str_body ); ret_status = jlb$trim( &dst_str, &src_str, &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; } putchar( '\n' ); }
JLB$TRUNC |
文字列の切り捨て
文字列を指定された長さで切り捨てます。
ret-status = JLB$TRUNC ( dst-str, src-str, size [, out-len] )
dst-str JLB usage 出力文字列 access 出力のみ mechanism Descriptor渡し src-str JLB usage 入力文字列 access 入力のみ mechanism Descriptor渡し size JLB usage 切り捨てを行う長さ type Word access 入力のみ mechanism Reference渡し out-len JLB usage 出力文字列のバイト長 type Word access 出力のみ mechanism Reference渡し
ret-status SS$_NORMAL LIB$_STRTRU
JLB$LOCC |
文字の検索
入力文字列中で最初に現れた検索文字の文字位置を返します。検索文字が含まれていない場合は0を返します。
index = JLB$LOCC ( char-str, src-str )
char-str JLB usage 検索文字 access 入力のみ mechanism Descriptor渡し src-str JLB usage 入力文字列 access 入力のみ mechanism Descriptor渡し
index 文字位置
#include <stdio.h> #include <descrip.h> #include <string.h> main() { struct dsc$descriptor_s char_str; struct dsc$descriptor_s src_str; int index; extern int jlb$locc(); char char_str_body[] = "本", src_str_body[] = "日本語"; char_str.dsc$b_class = src_str.dsc$b_class = DSC$K_CLASS_S; char_str.dsc$b_dtype = src_str.dsc$b_dtype = DSC$K_DTYPE_T; char_str.dsc$w_length = strlen( char_str_body ); char_str.dsc$a_pointer = char_str_body; src_str.dsc$w_length = strlen( src_str_body ); src_str.dsc$a_pointer = src_str_body; index = jlb$locc( &char_str, &src_str ); printf( "検索文字 :\'%s\' 入力文字列 :\"%s\"\n 結果 :%d\n", char_str_body, src_str_body, index ); }
JLB$SKPC |
文字の飛び越し
入力文字列中で最初に現れた検索文字以外の文字位置を返します。検索文字以外の文字がない場合は0を返します。
index = JLB$SKPC ( char-str, src-str )
char-str JLB usage 検索文字 access 入力のみ mechanism Descriptor渡し src-str JLB usage 入力文字列 access 入力のみ mechanism Descriptor渡し
index 文字位置 char-str の長さがゼロの場合は 1
JLB$RCHAR |
文字列からの文字の取り出し
char-code = JLB$RCHAR ( src-str [, pos] )
src-str JLB usage 入力文字列 access 入力のみ mechanism Descriptor渡し pos JLB usage 文字位置 type Longword access 入力のみ mechanism Reference渡し
char-code 文字コード
目次 | 索引 |
|