
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
使用している文字コードによって、全く異なる処理を行う必要があるのですが、シフトJISであると仮定します。
シフトJISの全角文字は、第1バイトが0x81~0x9F、0xE0~0xEFで始まる2バイトコードなので、調べた文字がこの範囲にあれば全角なので次のバイトをスキップすればOKです。
標準ライブラリにこれを調べるものは無かったように思いますので、
int issjis1( int c ) ;
のような関数を自作すればよいでしょう。
leaz024 様へ
お返事ありがとうございます。
やはり全角1バイト目を基準に判断するようですね。
大変参考になりました。
アドバイスどおり、
全角半角判定関数を作ってみます。
どうもありがとうございました。
No.1
- 回答日時:
検索対象は全て小文字でしょうか?
そうであれば、
まず、1バイト目がASCII文字か判定します。
#include <ctype.h>
int isalnum(int c);
判定が成立すれば0以外の値(真)を返し、成立しなければ0を返す。
新の場合(半角文字)はそのバイトを判定し、偽であれば次のバイトを判定する。
偽の場合(半角以外文字)はそのバイトと次のバイトをスキップして、その次のバイトを判定する。
madman 様へ
お返事ありがとうございます。
説明不足で恐縮です。
検索対象はソースファイルを指定してテストを行っておりまして、
英数字は半角で大文字小文字を含み、
英数字以外は全角半角を含んでおります。
検索対象に大文字を含んでいる場合はどうなるのでしょうか?
大変興味がありますので、
ご負担にならなければ、回答をお願いできますでしょうか?
宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
10Mバイトて文字数に すると何...
-
UTF-8で5~6バイトになる文字コ...
-
機種依存文字をチェックしたい。
-
バイト列とバイナリ列の違いが...
-
C++ Builderで文字列をバイトに...
-
COBOL PICTUREで X,S,Vの意味
-
バイナリとBCDコード
-
VC++で日本語(マルチバイト)フ...
-
char str[256]の256の意味は?
-
EUCのダブルバイト文字の判定
-
VBAでShift-JISのURLエンコード
-
vbaからHTTP POST送信しても途...
-
変数 および ポインタのサイ...
-
C言語において2バイト文字を検...
-
ピクセル,dpiから容量(バイト...
-
UCS-2の一覧表が欲しい
-
VB6で漢字の1バイト目か2バイト...
-
ワイド文字のバイト数が取得で...
-
ダブルバイトからの変換で、文...
-
SQLで1バイト、2バイト混在...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UTF-8で5~6バイトになる文字コ...
-
10Mバイトて文字数に すると何...
-
char str[256]の256の意味は?
-
COBOLのCOMP形式について
-
バイト列とバイナリ列の違いが...
-
エクセルシート名の制限を変更...
-
ピクセル,dpiから容量(バイト...
-
ビットスワップとバイトスワッ...
-
テキストBOXの入力制限について
-
機種依存文字をチェックしたい。
-
「1TB」のHDDに日本語は何字入...
-
C++ Builderで文字列をバイトに...
-
全角半角を調べるライブラリ関...
-
SQLで1バイト、2バイト混在...
-
VB6とSQL Serverの桁の扱い方に...
-
jis x 0208 について
-
VBAでShift-JISのURLエンコード
-
この関数はどのプログラミング...
-
COBOL PICTUREで X,S,Vの意味
-
半角、全角の判別方法
おすすめ情報