| 前へ | 次へ | 目次 | 索引 |
現在の文字の文字位置の入手,および文字列の終わりのチェック
<形式>
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で始まっていない |
| 前へ | 次へ | 目次 | 索引 |