問題タブ [gets]
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.
ruby - getコマンドを使用してRubyで配列をアルファベット順に並べ替える
私はRubyの初心者で、getsコマンドを使用して単語の配列( "dog"、 "cat"、 "ape")を並べ替えようとしています。getsとbecome( "ape"、 "cat"、 "犬")
私が試してみました:
これは私の娘が宿題をより早く分類し、タイプすることを学ぶのを助けることなので、どんな助けも素晴らしいでしょう。
ruby - Rubyでは、スリープとゲットを組み合わせるにはどうすればよいですか?ユーザーの応答を1分間待ちたい、それ以外の場合は続行する
「gets.chomp」コマンドを使用してユーザーの応答を待つループを実行しています。これをsleep/timerコマンドとどのように組み合わせることができますか?
例えば。ユーザーが単語を入力するまで1分間待機する必要があります。そうしないと、ループに戻ります。
ruby - プログラムの終了後、Rubyはコンソールコマンドラインに入力を取得します
2つの追加スレッドを使用して単純なrubyプログラムをセットアップしようとしています。
1つのスレッドは、シリアルポートでデータをチェックし、何かが見つかった場合は変数を設定することです。
2番目のスレッドは、「gets」の呼び出しです。これが返されると、プログラムが停止します。
- メインスレッドは、最初の追加スレッドによって保存された値をコンソールに出力するだけです(プログラムはコンソールベースのデータロガーです)。
私の問題は、出力の「Press Enter ...」のメモからわかるように、2番目のスレッドが正常に開始することです。
しかし、から返されたすべてのデータ
入力=取得
プログラムには入りません。代わりに、プログラムがctrl-cで強制終了された後、コンソールのコマンドラインに表示されます。
私はこれをWindowsのルビーコンソールで実行しています。これは以前は正常に機能していましたが、ある時点でコードを再配置したため、現在は連携していません。以下にプログラム全体をコピーしました。これはとても単純なことだと思いますが、私は完全に行き詰まっているので、見てくれてありがとう。
ジョン
c - [C++ではなく]Cで複数の単語を含む文字列を複数回スキャンするにはどうすればよいですか?
私は何度もグーグルで検索しましたが、私の質問/問題に対する具体的な答えを見つけることができません。私はfgets()がgets()と同様にそれを許可することを知っています。しかし、私がそれを複数回行うと、常にエラーが発生します。複数回の意味は、たとえば、彼の名、ミドルネーム、1つ以上の文字列の名前を尋ねたい場合です。
fgets()を動作させることができないので、getsを使用して取得したと思いますが、プログラムにいくつかのバグがあります。だから、私がしたよりも良い解決策を求めたいです。とにかく、ここに部分的なコードがあります:
バグは、addに無効な番号を入力した場合、従業員番号に5を入力したが、従業員番号5がすでに存在する場合、プログラムはすでに従業員5が存在すると表示しますが、従業員リストを印刷すると従業員5は存在しません。addに5を再度入力しても、employee 5が削除されたため、プロンプトは表示されません。delete関数を呼び出さなかったため、削除方法はわかりません。誰か助けてください。
編集:checknumを削除し、検索機能で削除を検索しました:検索のコードは次のとおりです:
そして追加は今です:
問題は、「無効な入力」が発生したときにルートに戻ることにあると思います。私はroot=add(root)でadd()を呼び出すので、問題が発生した場合はnullなどを指します。それで、あなたは私が何をしなければならないと思いますか?
編集[最後]:問題は、実際には、「無効な入力」が発生した場合にadd()が返す内容にあります。root = add(root)を回避するためにBST *addをvoidaddに変更し、関数で必要な変更を行ったところ、機能するようになりました。回答ありがとうございますが、誰も正解していないと思うのでチェックマークを付けることができません。私は今それをfgets()で動かしています。
buffer - scanf と取得バッファ
scanf と gets に問題があります。エラーにつながることは知っていますが、他の方法は見つかりませんでした。このように、名前は出力されますが、最初の文字は出力されません。これが私のコードです:
出力例:
c - C での文字列の読み取り
C の gets() を使用していて、ユーザーから文字列を読み取っていた場合、必要なバッファーの大きさがわからず、入力が非常に大きくなる可能性があります。ユーザーが入力した文字列の大きさを判断し、メモリを割り当てて変数に入れる方法はありますか? または、少なくとも、入力の大きさを知らずに入力を受け入れる方法。既に割り当てたバッファに収まらない可能性があります。
c - Gets(string#)関数は最初にリクエストをスキップします
私は自分の個人的な余暇と学習のためのプロジェクトに取り組んでいます。その一部は次のようになります。
私の問題は、出力が最初の「gets(string#)」をスキップして次の「printf()」に進むことです。誰かがこれがなぜであるか教えてもらえますか?
c - gets() の問題
入力データを取得し、構造を使用して印刷しようとしています。このコードを実行すると、姓の入力が取られません。名の入力を直接求めます。誰かがこれで私を助けることができますか?ありがとうございました。
これを実行すると、姓の入力を待っていません。直接名を入力します。
c++ - gets() は正式に非推奨ですか?
C++11 の最新のドラフトに基づいて、C++ は、C ライブラリ関数の定義について ISO/IEC 9899:1999/Cor.3:2007(E) を参照します (§1.2[intro.refs]/1 による)。 .
C99 TC3 の最新のドラフトに基づくThe gets function is obsolescent, and is deprecated.
(§7.26.9/2 による)
gets()
これは C と C++ の両方で推奨されていないと言えますか?
ruby - Rubyでコマンドラインから読み取るときのgetsの動作の変更
以下のRubyコードの意図された操作は次のとおりです。
- コマンドラインで指定されたファイルであるARGV[0]を古いものに書き込みます
- そのファイルの新しい一時的なコピーを作成します
- ユーザーが入力するまでループする
- 一時ファイルを削除します
hello.cに等しい古いコードをハードコーディングすると、doループ内のタイムアウトは期待どおりに機能します。キーボードからの入力を3秒間待機します。何も指定されていない場合は、レスキューブロックに入り、繰り返します。
oldをARGV[0](これもhello.c)に設定すると、fpにhello.cの最初の行が割り当てられ、コードがループから抜け出します。
実行方法:
コード:
コマンドラインからの読み取りがファイル名のハードコーディングと異なる理由がわかりません。
私はあなたが与えることができるどんな助けにも感謝します。ありがとう。