2017-08-07 7 views
-4

でスペースを確保して0x20の別名vk_space、私が中のブロックのブロックを解除するために何をするかは重要ではありませんキャラクター名C++、私は「スペース」を許可しようとしている

リンクに提供されるこのコード..でキャラクター名にスペースを追加しようとすると、コードそれはまだエラーがスローされます。

if ((*chr) == ' ' || (*chr) == '\t' || (*chr) == '\n' || (*chr) == '\r' 
    || (*chr) == '%' || (*chr) == '#' || (*chr) == '&' || (*chr) == '?' 
    || (*chr) == '+' || (*chr) == '=' 
) 

私は少なくともうまくvk_spaceのための非常に最初のものをこれらをコメントアウトしてみました。私は窓1251のために、この上記のコードを理解することができれば

if (!((*chr) >= 48 && (*chr) <=57) //! 0 ~ 9 
    && !((*chr) >= 65 && (*chr) <=90) // ! A ~ Z 
    && !((*chr) >= 97 && (*chr) <=122) // ! a ~ z 
) 

は、私はそれが動作するように得ることができると信じて:

は、私が実際にやや近いこのコード全体のコード行にスペースを追加しました。

okを押して文字を作成するプロセスは、ここにあります。

void CUICharacterCreateNew::PressOk() 

コードは次の場所にあります。

+9

おそらく['std :: isspace'](http://en.cppreference.com/w/cpp/string/byte/isspace)を使ってスペースを確認するのでしょうか?そして、[* magic numbers *](https://en.wikipedia.org/wiki/Magic_number_(プログラミング))を使わないでください。あなたが "A"という文字を意味するならば、* say * so。または、英字を確認する場合は、['std :: isalnum'](http://en.cppreference.com/w/cpp/string/byte/isalnum)を使用することをお勧めします。 –

+4

"文字名にスペースを追加しようとするとエラーが発生する" - 何のエラー?表示されたコードは何も追加しないでください。 – VTT

+0

CTString \t strMsg = _S(146、 "文字名にスペースを入れないでください。"); http://prntscr.com/g5bron <---エラーが発生しました これは、 –

答えて

0

は '' ==すべての文字をコメントアウトする必要がありました||

if(/* (*chr) == ' ' ||*/ (*chr) == '\t' || (*chr) == '\n' || (*chr) == '\r' 
    || (*chr) == '%' || (*chr) == '#' || (*chr) == '&' || (*chr) == '?' 
    || (*chr) == '+' || (*chr) == '=' 
) 

、その後、私は窓1251エンコーディング20 =スペースへと、すべてのこれらの数字を読んでいたすべてのこれらの

if (!((*chr) >= 48 && (*chr) <=57) //! 0 ~ 9 
    && !((*chr) >= 65 && (*chr) <=90) // ! A ~ Z 
    && !((*chr) >= 97 && (*chr) <=122) // ! a ~ z 
    && !((*chr) == 32) 

の底に32を追加する必要がありました。..だけでなく、これらがある見つけるために来ます実際には10進数で、16進数にする必要があります。おそらく、/

関連する問題