問題タブ [cin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++でのI/O例外の問題( "cin"ステートメント)
次のプログラムでは:
2種類の例外を使用しています。プログラムは「runtime_error」例外をスローすると完全に機能しますが、「invalid_argument」例外が発生すると無限ループになります。実際、catch-blockの ""ステートメントに問題がありcin>>c
ますが、なぜこれが発生しているのか理解できません。
c++ - getline は入力を求めていませんか?
これはおそらく非常に単純な問題ですが、初心者なのでご容赦ください。これが私のコードです:
問題は、how much is that jacket?
getline が要求されたときに、ユーザーに入力を求めず、初期値の "0" を入力するだけであるということです。どうしてこれなの?
c++ - C++で改行までどのように入力を取得しますか?
を使用して入力を読み取っていますcin
。入力を空白のままにすると (Enter キーを押すだけ)、カーソルが新しい行に移動し、再度入力を求められます。この場合、空の文字列を作成cin
または返す方法はありますか?scanf
c++ - getline()、std::cin.eof()、std::cin.bad() のための Scala とは?
C++ コードの一部を次に示します。
これらの場合、Scala は次のようになります。
getline()
std::cin.eof()
std::cin.bad()
c++ - if (cin >> x) - なぜその条件を使用できるのですか?
夏の間、「Accelerated C++」を使用して C++ を学習してきましたが、正しく理解していないように見える概念があります。
なぜですか
に相当
コードを見ると、cin を変数として使用しているように思えます。しかし、私はそれが機能だと思いました。キーボードに入力した値が x であるのに、なぜ cin をこのように使用できるのでしょうか?
c++ - std::cin の std::getline
正当な理由はありますか?
getline 呼び出しはユーザー入力を待ちませんか? 何とかシンの状態がめちゃくちゃ?
c++ - int割り当てのためのwhileループでのcinの乱用
2つのユーザー定義ベクトルを比較して、それらが等しいかどうか、現在のコードを確認しようとするだけです。
これまでのところ、ivec1に値をうまく割り当てることができますが、文字を入力してcinを失敗させることで、whileループを終了すると、2番目のwhileブロックがスキップされます。好奇心から、最初のwhileループの後に他のcinステートメントを入れてみましたが、それらもすべて無視されます。
cinを強制的に失敗させると、プログラムはそれまたは何かに対する他のすべての呼び出しを無視しますか、それとも別の問題がありますか?もしそうなら、どうすればこのプログラムに私が望むことをさせることができますか?
閲覧を楽しむためのスクリーンショット:http: //img695.imageshack.us/img695/2677/cinfailure.png
*PS。temp1とtemp2があるのは、両方の割り当てループに同じintを使用することが問題の原因であるかどうかを判断しようとしただけでした。とにかく、そのままにしておくと思いました。
c++ - パスワード プロンプトでユーザー入力を非表示にする
重複の可能性:
std::cin からパスワードを読み取る
私は通常、コンソールで作業していないので、私の質問はおそらく非常に簡単に答えられるか、答えられないでしょう.
と を「分離」cin
しcout
て、コンソールに入力した内容がコンソールに直接表示されないようにすることはできますか?
ユーザーがパスワードを入力できるようにするためにこれが必要ですが、私もユーザーも通常、自分のパスワードplaintext
が画面に表示されることを望んでいません。
で使用std::cin.tie
してみましたstringstream
が、入力したものはすべてコンソールにミラーリングされたままです。
c++ - std :: wcinを使用してwchar_tを読み取ると、常にLF(10、0xA)が得られます。
MSVC ++ 2010でこのコードを使用して、ユーザー入力ループを実装します。
私のプロジェクトの1つでは、これは問題なく機能します(デバッグ構成とリリース構成の両方で)。私の別のプロジェクトでは、これとまったく同じコード(のコードのみwmain
)が奇妙に動作します(両方の構成でも):「タイプ'y'が次のパラメーターを入力する」の後に入力を待つのをやめませんが、代わりにストリームからラインフィード文字をすぐに読み取ります。
私も試しwcin >> skipws >> userabort;
ましたが、同じ結果です。何が原因なのか全くわかりません。コンパイラの設定またはインポートされたファイルの結果である可能性がありますか?それとも、プログラムにwstringを送信するためにreturnキーを押した結果でしょうか?userinput
助けていただければ幸いです。
c++ - タイトなループで cin.get() を使用する
私はプログラミングは初めてではありませんが、C++ には比較的慣れていません。簡単なコンソール アプリケーションを配布して、学習しながら他の人を助けることができるようにしたいと考えています。私の大学のキャンパスにあるマシンの大部分は Windows ベースで、デフォルトで Borland コンパイラがインストールされています。g++ やその他のツールを使用して、Linux ベースのシステムで開発を行うことを好みます。したがって、ユーザーがEnterキーを押すまでプログラムを実行したままにするクロスプラットフォームの方法を追加したいと思います。これにより、ユーザーは、Windows のコンソールで実行するのではなく、exe をダブルクリックした場合でも、出力を表示できます。これを行うために、次のようなものを書きました。
上記のコードを使用すると、プログラムは結果を表示した後に終了します。ただし、cin 呼び出しをコメント アウトすると、期待どおりに機能します。これにより、cin.getline が最後のデータ入力からエンター キーの押下を取得していると思われます。これは、ループのきつさによるものだと思います。C++ にはクロスプラットフォームのスリープ機能がないことを知ったので、それはオプションではありません。この作業を行うために他に何ができますか?