//********************************************************* // string の最初に現れた c へのポインタを返します。 // string の終端文字 '\0' も検索の対象です。 // c が見つからない場合は NULL を返します。 // 文字 c と2バイト文字の2バイト目とは一致しません。 //********************************************************* char * strchrj ( const char *string, int c ) { const char *p = string; while( (c != jmscode(p)) && ('\0' != *p) ) { p = jmsnext( p ); } return (char *)( c == jmscode(p) ? p : NULL ); }//strchrj 使用例//********************************************************* // 関数 strchrj() の使用例です。 //********************************************************* int main( void ) { const char *string; // 文字 'イ' の2バイト目は 0x43(='C') である。 // 関数 strchr() は1バイト文字と2バイト文字を区別しないため、 // 文字 'C' を検索すると文字 'イ' の2バイト目が返る。 string = "2バイト文字, ASCII"; puts( strchr( string, 'C' ) ); puts( strchrj( string, 'C' ) ); // 文字 '表' の2バイト目は 0x5c(='\') である。 // 関数 strchr() で文字 '\' を検索すると文字 '表' の2バイト目が返る。 string = "計画表.xls"; puts( strchr( string, '\\' ) ? "hit." : "no hit." ); puts( strchrj( string, '\\' ) ? "hit." : "no hit." ); return 0; }//main 実行結果Cト文字, ASCII CII hit. no hit. 関連 |
|
水無瀬 優 postmaster@katsura-kotonoha.sakura.ne.jp
同人ダウンロード販売|DL.Getchu.com