問題タブ [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.
c - 入力の読み取り - scanf の取得 - 初心者
私は現在、顧客の注文を含む割り当て用のプログラムをコーディングしています...これまでのところすべてが正しくコーディングされていますが、ユーザー入力の読み取りに関しては問題があります..ユーザーに時間を与えることなく2行が画面に表示されます.注文数量を入力してください。これは、scanf を使用しているためです。fflush(stdin) を使用して char() を取得しようとしましたが、何も機能しませんでした。
ruby-on-rails - gets.chomp() を使用して変数を変更する
このコードを使用してファイルに書き込もうとしています:
ruby プログラミングの究極のガイドを読みましたが、新しい行を作成したい場合は、File.open
使用する必要があります"line one", "line two
。gets.chomp()? 私のコードを試してみてください。ありがとうございます。
c - ユーザーからの入力の取得 - 機能しません
これは請求書を計算するためのプログラムです。このプログラムは正しい入力 (例: double) に適しています。しかし問題は、文字列として間違って入力すると、対応するケースが表示され、続行するかどうかを尋ねられることです。続行する場合は、次のような出力が生成されます。
それ以上の入力は得られません。私はgdbで作業していました。しかし、なぜそれ以上入力を取得できなかったのか理解できませんでした。この問題の解決にご協力ください。よろしくお願いします。
stdin - 標準入力と入力バッファの内部作業
ユーザーが入力した文字数を 5 秒以内に出力しようとしています。しかし、入力バッファのフェッチで問題に直面しています。
コードスニペット
上記のコードでは、ユーザーが入力した入力を取得しておらず、出力バッファーは常にゼロです。何がうまくいかなかったのか、その解決策を教えてください。
出力
しかし、私は以下の出力を期待しています
これについてあなたの見解を提案してください。
c - gets() は while ループで一度だけ入力を受け取る
私は C が初めてで、いくつかの演習を行っていますが、while ループで gets() に問題があります。検索では、\n 文字と関係があるのではないかと思いますが、ここで何が起こっているのかについて、誰かがより完全な説明をしてくれることを望んでいました:
このループは 1 回だけ実行されます。2 回目は「Enter last name」を画面に出力し、gets() が 2 回目の入力を受け取る前にループから抜け出します。
前もって感謝します!
ruby - Rubyでゼロが返されるのはなぜですか
簡単な方法があります
コードを実行するたびに、映画の名前を挿入する最初のプロンプトが表示されますが、Enterキーを押すと、2番目のプリントが呼び出され、このメッセージが表示されます。
ファイルは書き込まれていますが、テキストファイルに何も挿入できません。私のロジックの何が問題になっていますか?これを修正するにはどうすればよいですか?私はUbuntuのRubyMineでirbを使用しています。
編集:私のコードが機能していることに対する他のユーザーの応答と、別の開発マシンでの私自身のテストのために、私のコードはその1台のマシンで機能していないようです。私が言える唯一のことは、RubyMineのirbコンソールを使用していたということです。問題は、RubyMineの問題なのか、それとも開発マシンにもっと大きな問題があるのかということです。
最終編集:RubyMineを含む2番目のコンプを確認しましたが、RubyMineのirbコンソールでも機能しないようです。RubyMineにバグを発行し、RubyMineのirbがファンキーに動作している理由を誰かが知らない限り、1日か2日でJeremyにクレジットを与えるつもりです。
ruby - Rubyで改行を追加せずにユーザーからデータを受け取る方法
ユーザーの単語エントリをアルファベット順に並べ替えるプログラムを作成しようとしています。しかし、users エントリを調べると、ruby が何らかの理由で各単語に改行文字を追加していることがわかります。たとえば、Dog、Cat、Rabbit と入力すると、プログラムは ["Cat\n", "Dog\n", "Rabbit\n"] を返します。
gets - Sublime で単純な gets.chomp を実行しようとしています
何らかの理由で実行すると:
名前 = gets.chomp
名前を付ける
エラーが発生します:
gets:1:in <main>': undefined method
chomp' for nil:NilClass (NoMethodError)
.chomp を削除して実行すると:
名前 = 取得
名前を付ける
プロンプトもエラーも表示されず、コンソールには終了時間が表示されるだけです。私は何を間違っていますか?
ちなみに、私はRubyで構成されたSublimeを使用しています
c - 取得は役に立ちましたか?
私には、特に C プログラミング言語を学んでいる人々は、gets
stdin からデータを読み込むために関数をまだ使用しているようです。C11標準から1つ削除されましたが、 cppreferenceの免責事項には次のように記載されています。
gets() 関数は境界チェックを実行しないため、この関数はバッファ オーバーフロー攻撃に対して非常に脆弱です。安全に使用することはできません (標準入力に表示される内容を制限する環境でプログラムを実行しない限り)。このため、この関数は C99 標準の 3 番目の正誤表で非推奨になり、C11 標準では完全に削除されました。fgets() と gets_s() は、推奨される代替品です。
gets() を使用しないでください。
ただし、これは、より現代的なプログラミング哲学を思いついた新しい問題ではないようです。それは常に壊れていて、プログラムがクラッシュする原因となっていました。「標準入力に表示できるものを制限する環境」が何を意味するのかわかりません。
それで、それは過去に役に立ちましたか?または、それが C の以前の標準および標準化前のバージョンに追加された理由は何ですか?
(1) ... または少なくとも、読み取る最大長を示す追加のパラメーターを持つように変更されました。しかし、私は古い署名について尋ねており、ポインタしか受け取っていません。
c - 文字列、gets and do while
私はCでエクササイズをしていますが、で問題が発生し、cicleを繰り返したい(whileを実行)。実際、1と入力すると、プログラムは先頭から再開されますが、で停止しませんgets(testo);
。私は解決策なしでバグを解決するためにたくさんの方法を試しました、誰かが私を助けることができますか?
現時点ではコードとしてあまり最適化されておらず、他にもエラーがあることはわかっていますが、これには問題があります。
ありがとうございました。
PS:コードはOpenVMSでテストされています