問題タブ [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 - 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);
と、警告は適用されません。コードの両方の部分と私が読んでいる本では、アンパサンドを使用するように具体的に述べられていますが、一部の例ではそうではありません。
私の質問は、本で指定されていない場合でも、アンパサンドを使用し続ける必要があるかということです。
c++ - データの前に scanf でキャリッジ リターンを無視します.... conio.h でコンソール ベースのグラフィックスのレイアウトを維持します
残念なことに、大学の課題で vc++ 6 の conio.h を使用していました。
私の問題は、グラフィック設定が画面の中央にあることです...
例えば
誰かが「何か」を入力する前に誤ってエンターを押した場合、カーソルは次の行の画面の左側にリセットされます。
Iv は、fflush(stdin) と getchar() を使用してキーボードと BIOS バッファーをフラッシュしようとしましたが、予想どおり機能しませんでした。
ヘルプ/アイデアをいただければ幸いです, ありがとう, V
c - 関数を C のファイルではなく文字列から読み取るように変換する
現在、ディスクから構成ファイルを読み取り、構造を設定する関数を更新することを任されています。
構成をディスクに書き込むことをバイパスし、代わりにメモリに直接渡すことができるようにするもので、これとほぼ同等です。
いくつかの注意事項:
- 現在の LoadFromFile 関数は信じられないほど高密度で複雑で、下位互換性のある方法で構成ファイルの数十のバージョンを読み取るため、全体的なロジックの複製が非常に面倒です。
- 構成ファイルを生成する関数とそれを読み取る関数は、古いシステムのまったく異なる部分に由来するため、データ構造を共有しないため、それらを直接渡すことはできません。ラッパーを作成することもできますが、ここでも、下位互換性のある方法で渡された構造を処理する必要があります。
- ファイルを文字列として (上記のプロトタイプのように) そのまま渡し、すべての fscanf を sscanf に変換したいという誘惑にかられますが、ポインタのインクリメント (および潜在的にはバッファ オーバーラン エラーの処理) を手動で処理する必要があります。
- これは C のままにしておく必要があるため、ストリームのような C++ 機能はここでは役に立ちません
より良いオプションがありませんか?ディスク上ではなくメモリ内の場所を実際に指す FILE * を作成する方法はありますか? ポインタ、提案、またはその他のヘルプは大歓迎です。