問題タブ [scanf]
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 - Enter以外の特定のキーを押すとscanfを終了できます
私はここに状況があります
ユーザーからの入力を受け付けています
scanfを使用して、ユーザーが#キーを押すとすぐにscanfを終了できますか
これについて教えてください
c# - ストリーミング構造化テキスト入力
TextReader
フォーマットされた基本値といくつかのカスタム文字列を-基本的にallowsのように解析したいと思いscanf
ます。
- 私の入力には改行がない可能性があるため、ReadLine+Regexはオプションではありません。テキスト入力をチャンク化する他の方法を使用できます。しかし、問題は、コンパイル時に区切り文字がわからないこと(つまり、注意が必要です)と、その区切り文字がローカリゼーションに依存している可能性があることです。たとえば、floatの後にコンマが続く場合は「1.5」または「1,5」になりますが、どちらの場合も、floatを解析しようとすると「貪欲」になります。
- 安全のために、私の入力は積極的に敵対的であると仮定したいと思います(たとえば、ネットワークストリームからのストリーミング)。つまり、チャンク区切り文字が意図的に欠落しています。
- カスタム正規表現を避けたい:int.Parseとdouble.Parseはうまく機能し、ローカリゼーションに対応しています。DateTimeを使い始めないでください-とにかくいくつかのカスタムパターンが必要かもしれませんが、そのシナリオをカバーするために正規表現を書くのは面白そうに聞こえません。
具体的な例として、私がaを持っていTextReader
て、次の値が-であることを知っているとしましょうdouble
-ストリーム全体を読み取ったり、ローカライズ可能なダブルパーサーを手動で書き込んだりせずに、その二重の、場合によっては限られた量の先読みを抽出するにはどうすればよいですか?
同様の質問
以前の質問「C#に相当するものを探してscanf
います」は似ているように聞こえますが、Q +Aはreadline+regexに焦点を当てています(これは避けたいです)。TextReaderに対してRegexを使用するにはどうすればよいですか?(チャンクを超えて)答えが見つかりませんでした。いずれにせよ、自分の正規表現を作成することは避けたいと思います。
c - sscanf() 警告を取り除く
stdin から MAC アドレス (標準の 16 進数表記、例: 00:11:22:33:44:55) を読み取り、10 進数として 6 バイトの変数 hw_addr に変換しています。
唯一の問題は、6 つの scanf 警告が表示されることです。
.....
各フィールドの int を無駄にすることなく、これらの警告を取り除く方法はありますか?
c - while ループ内の scanf
このコードでは、scanf
一度だけ機能します。私は何を間違っていますか?
c - 動的文字列入力 - scanf("%as") を使用
GCCマニュアルで指定されているように、動的に入力を使用scanf
して保存しようとしていますが、コンパイル時にエラーが発生しています。char *
c - Win32 ConsoleInput関数を使用しているときにscanfが機能しないのはなぜですか?
これはサンプルコードです。プログラムでこれらの関数を使用していますが、scanfがうまく機能しません。入力が表示されず、Enterキーが2回押された後にのみ入力を受け入れます。
これはコードです:
手伝ってくれてありがとう!
c - 取得する前にC.Scanfに入力します。問題
私はCにかなり慣れていないので、プログラムへのデータ入力に問題があります。
私のコード:
IDを入力できますが、残りの入力はスキップされます。このように順序を変更した場合:
それが動作します。ただし、順序を変更することはできず、そのまま必要です。誰かが私を助けることができますか?多分私は他のいくつかの機能を使う必要があります。ありがとう!
c - この問題に関する簡単な質問ですが、文字列の 2 番目の値 (変換された 2 番目の値) を出力しないのはなぜですか?
簡単な質問です。ここで何が間違っていましたか。このコードの目的は、入力を文字列に取得することです。入力は "12 34" で、"12" と "32" の間にスペースがあります。番号。関数 copyTemp の 2 回目の呼び出しで値 34 が生成されないのはなぜですか? 文字列インデックスを追跡する index_counter 変数があり、「スペース」文字をスキップすることを意図していますか?? 私は何を間違えましたか?
ありがとう。
c - scanf の短所
のデメリットが知りたいですscanf()
。
多くのサイトで、使用scanf
するとバッファ オーバーフローが発生する可能性があることを読みました。これの理由は何ですか?他に欠点はありscanf
ますか?
c - scanf() でのアンパサンドの使用
をコンパイルするscanf("%s", &var);
と、gcc から警告が返されます。
ただし、コンパイルするscanf("%s", var);
と、警告は適用されません。コードの両方の部分と私が読んでいる本では、アンパサンドを使用するように具体的に述べられていますが、一部の例ではそうではありません。
私の質問は、本で指定されていない場合でも、アンパサンドを使用し続ける必要があるかということです。