前へ | 次へ | 目次 | 索引 |
現在の文字の文字位置の入手,および文字列の終わりのチェック
<形式>
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 |
文字列からの文字の取り出し
<形式>
char-code = JSY$CH_RCHAR ( char-ptr )
<引数>
char-ptr | |
---|---|
JSY usage | 文字の1バイト目を指すポインタ |
mechanism | Value渡し |
<戻り値>
char-code | ポインタが指している文字の文字コード |
文字列からの文字の取り出し,およびポインタの更新
<形式>
char-code = JSY$CH_RNEXT ( char-ptr )
<引数>
char-ptr | |
---|---|
JSY usage | 文字の1バイト目を指すポインタ |
mechanism | Reference渡し |
<戻り値>
char-code | ポインタが指している文字の文字コード |
文字列への文字の書き込み
<形式>
JSY$CH_WCHAR ( char-code, char-ptr )
<引数>
char-code | |
---|---|
JSY usage | 文字コード |
mechanism | Value渡し |
char-ptr | |
JSY usage | 文字の1バイト目を指すポインタ |
mechanism | Value渡し |
文字列への文字の書き込みおよびポインタの更新
<形式>
JSY$CH_WNEXT ( char-code, char-ptr )
<引数>
char-code | |
---|---|
JSY usage | 文字コード |
mechanism | Value渡し |
char-ptr | |
JSY usage | 文字の1バイト目を指すポインタ |
mechanism | Reference渡し |
文字列からの文字の取り出し,および文字列の終わりのチェック
<形式>
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 進) |
文字列からの文字の取り出し,ポインタの更新,および文字列の終わりのチェック
<形式>
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 進) |
文字列への文字の書き込み,および文字列の終わりのチェック
<形式>
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 を越えた) |
文字列への文字の書き込み,ポインタの更新,および文字列の終わりのチェック
<形式>
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'; } |
文字が占めるバイト数の入手
<形式>
nof-byte = JSY$CH_SIZE ( char-code )
<引数>
char-code | |
---|---|
JSY usage | 文字コード |
mechanism | Value渡し |
<戻り値>
nof-byte | 文字コードが255以下の場合は1,256以上の場合は2 |
文字列が占めるバイト数の入手
<形式>
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文字が占めるバイト数 |
文字列に含まれる文字数の入手
<形式>
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バイト内にある文字数 |
文字列の検索
<形式>
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 |
英大文字/小文字,全角/半角,ひらがな/カタカナ変換による文字列の比較
<形式>
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が等しくない |
英大文字/小文字,全角/半角,ひらがな/カタカナ変換による文字列の比較
文字列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で始まっていない |
前へ | 次へ | 目次 | 索引 |