通知
すべてクリア
Topic starter
2001年11月8日 5:13 PM
こんばんあ
VCというよりC/C++の質問ですが
char pp[512];
で、宣言されていて
それには半角英数しか入れたくないのに
strcpy(pp,4556法あqq);
のような文字列が
入ってしまった場合、
このppに全角文字が入っているかどうか
判別する方法を
知りたいんですが
誰か良いアイディア知らないですか?
2001年11月8日 5:45 PM
あまり良い関数がないようです。
「IsDBCSLeadByte()あたりでコツコツ調べる」ではいかがでしょ?
関数の説明はMSDNを参照してください。
2001年11月8日 5:52 PM
基本はBunさんが書いてるようにコツコツ調べるのがいいと思います。
姑息なのだとMultiByteToWideCharでunicodeに変換して文字長さが2倍になってたら
全て半角っていうのも・・・保証できないですけどね
2001年11月8日 6:39 PM
こんなのはどう?!
if (strlen(pp) != _mbslen(pp)) {
//全角入りでーす。
}
Topic starter
2001年11月8日 6:48 PM
RES
ありがとうございます
やはりIsDBCSLeadByte()
は確実なんでしょうねー
if (strlen(pp) != _mbslen(pp)) {
//全角入りでーす。
}
は面白いかもですねー
楽だし
試してみますー
Topic starter
2001年11月19日 4:19 PM
忘れてた
ありがとうございました