私は以下のコードでさまざまな入力を試みましたが、メッセージが表示されませんでした: "おっと、ASCII charを入力していませんでした。私はchar型ではないさまざまなUnicode文字を入力しています(ALT +乱数では、基本的にちょうどパンチングしています、例えば、™、š、²、Ž、±)。 ASCII文字std :: cinは、コマンドラインのユーザー入力をchar型の変数に渡すことができませんか?
std::cout << "Would you like to play again? Enter y or n: ";
std::cin >> yOrN;
isChar = std::cin.fail();
//check if the user did not enter an ASCII char, e.g. test with a Unicode character
if (isChar)
{
std::cout << "Oops, you did not enter an ASCII char, let alone one that is y or n!\n";
std::cin.clear();
}
OS:Windowsの10 64ビット、x64ベースのプロセッサ コンパイラ:Visual Studioのコミュニティ2015
Iは、非ASCII文字を抽出」を探して、この問題を解決することができませんでしたcin C++」と最初の3ページを参照してください。
私は非常に新しいStack Overflowです。私がこの質問で規則や行動規範に違反した場合、私を許してください。私はlearncpp.comでC++を学んでいて、このpageの質問2に答えるために私自身のコードを書いています。
更新:私のプログラムがcharが入力されたかどうかを検証する理由はないと思います。しかし、おそらく私はそれが実際にプログラムに必要かどうかについてあまり気にしていなかったことを知りたいと思っていたのかもしれません。
平野 'char'共通システムで127を超えることはありません –
@MM 'char'が実際には符号なしであればどうなりますか? –
どうすればいいですか? OPはMSVC++ 2015を言った。 –