問題タブ [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++cinの質問
さて、私はcin'd文字列を組み合わせるための単純なC++関数を書いていました。私は現在Linuxに取り組んでいるので、単純な「getline(cin、input)」コマンドの贅沢はありません。これまでのコードは次のとおりです。
私が知りたいのはこれです:プロンプトは実際にユーザーに入力を求めていますか、それともスペースのために残ったバッファーからまだ読み取っていますか?
c++ - 改行文字まで空白でcinを読む方法は?
C++ の cin から、現在の位置から改行文字までを文字列に読み取りたいと考えています。読み取る文字にはスペースが含まれる場合があります。最初のスペースで停止するため、最初のパスは失敗します。
cin が与えられた場合:
変数結果は次のもののみを取得します。
これを達成するためにストリームマニピュレータを使用できるはずだと思いますが、skipws は、スペースとタブでキャリッジリターンをスローするという点で正しくありませんでした。さらに、先頭の空白をスキップするように聞こえます。
おそらく、このような streambuf を使用する必要がありますか?
c++ - C++でのEOFの無限ループ
このコードは、ほとんどの場合、ユーザーに1文字の入力を求め、関連するアクションを実行し、ユーザーにReturnキーを押して、繰り返すように求めるという、希望どおりに機能します。ただし、プロンプトで^ D(EOF)と入力すると、無限ループが発生します。std :: cin.clear()を介してエラー状態をクリアし、std :: cin.ignore(...)を呼び出してバッファーをクリアしています。何が無限ループを引き起こしている可能性がありますか?
重要な場合は、これをMacOSXターミナルで実行しています。
更新:ここで私が本当に求めているのは、ユーザーがプロンプトでEOF(^ D)を入力したときに、(a)それを検出し、(b)ユーザーがデータを入力し続けることができるようにストリームをリセットする方法です。
次の例は上記のコードとは異なりますが、^ Dが検出された後にストリームをクリアし、そのストリームからの読み取りを続行するという同じ原則を示しています。
c++ - C ++で値を割り当てずに文字列を宣言するにはどうすればよいですか?
整数の場合、次を使用できることを知っています。
私は試した:
しかし、VisualC++でエラーが発生しました。値を割り当てずに宣言し、cin >> str
後でそれを使用して割り当てるにはどうすればよいですか?
c++ - C ++coutcin文字列操作
コマンドラインから入力として行を取得しようとしています。私の問題は、行全体が取得されていないことですが、スペースによってトークン化されています。
だから、「数学が大好き」などと入力すると、
私は次のようになります:
c++ - while ループでの C++ STD Cin エラー
以下のループに入り、最初の命令 cmdstd:getline(std::cin,cmdInput); を入力したのはなぜですか。入力された入力を読み取りません。たとえば、「b 8」と入力すると、「cmd is b 8」と表示されますが、次の読み取り std::getline(std::cin, input); にスキップします。代わりに「それはbです」と表示します
c++ - std::cin の内部バッファを変更するにはどうすればよいですか
を使用してパスワードを取得するソフトウェアを作成していますstd::cin
std::cin
ただし、可能性は低いですが、パスワードがメモリからディスクにページングされる可能性を回避しようとしているので、パスワードを使い終わったらすぐにパスワードを上書きするようにバッファを変更したいと考えています。
今私はこれを持っています:
しかし、cin バッファーの現在のサイズが考慮されていないため、これは悪いことだと確信しています。バッファの内容を適切に上書きするにはどうすればよいですか?
助けてくれてありがとう!
c++ - C++ cin.fail() の質問
次のコードを実行して数値を入力すると、正常に動作します。しかし、文字を入力すると、プログラムは無限ループに入り、「数字を入力してください (終了するには 0): cin に失敗しました」と表示されます。
私の意図は、cin fail ケースを処理し、ユーザーに再度プロンプトを表示することでした。
c++ - ワーカー スレッドから cin に出力する (c++)
私のプログラムには、ユーザーからコマンド入力を受け取るメイン スレッドがあります。これとは別に、バックグラウンドでデータを大量に処理するワーカー スレッドが複数 (少なくとも 1 つ) 存在する可能性があります。
ユーザーは、コンソールに入力するコマンドを使用してプログラムを終了できます。ただし、データ チャーニングが完了すると、メイン スレッドはユーザー入力を待ってまだブロックされているため、プログラムは終了しません。
私が知りたいのは、終了コマンド「q\n」をstd::cin
ワーカースレッドから書き込んで、ブロックしているコマンド入力スレッド (メインスレッドも) が終了するようにする方法です。それとも、これは悪いことでしょうか? 以下を試してみましたが、プログラムが単にハングするか、に書き込むことができstd::cin
ません。理由はわかりません。
メイン スレッドでは、これは main から呼び出されます。
ここで私が間違っていることについて誰かがアドバイスしてくれますか、それとも私が達成しようとしていることに対するより良い解決策を提案してくれますか?
ありがとう
c++ - cin を使用してユーザーから入力を取得する
Turbo C++ 3.0 コンパイラを使用しています
次のコードを使用している間..
スペースを入力した場合...スペースの前に入力された唯一の保存文字..「QWERT YUIOP」と入力した場合のように...名前には「QWERT」が含まれます。
理由の説明はありますか??