SJis文字列からある文字を検索する方法
94c4 9770 8356 838a 8341 838b 92ca 904d 8356 837e 8385 838c 815b 835e 8aae 905c 5b30 305dとなっており、この文字列に対して strchr()関数で '['(0x5b)を検索させると、'ー'のコード である0x815bの後ろ1バイトがリターンされてしまう。
/*************************************************************************/ /* テーブルの添字取得(テーブル以外ならデータ取得) */ /*************************************************************************/ /* [を検索 */ //ptr = (char *)strchr(moji,(int)'[');
ptr = (char *)_mbschr((unsigned char *)moji,(int)'[');
if( ptr != NULL ) /* [有り */ { /* [以降の文字列取得 */ memcpy( wk,ptr,strlen(ptr) ); /* テーブル添字取得 */ sscanf( &wk[1],"%hd",&x );