問題タブ [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 - fscanfで改行文字を知る方法は?
fscanf がファイル内の新しい行 \n に到達したことを知る方法。私はそれを行うために独自の機能を使用しています。必要なパターンに fgets を使用してから sscanf を使用できることはわかっています。しかし、私の要件は安定していません。タブで区切られた文字列、改行で区切られた文字列、特殊文字で区切られた文字列を取得したい場合があります。したがって、fscanf からの新しい行を知る方法があれば、助けてください。または、別の方法も歓迎します。
前もって感謝します。
c - scanf を使用してスペースを入力できるようにするにはどうすればよいですか?
次のコードを使用します。
ユーザーは自分の名前を入力できますが、 のようLucas Aardvark
にスペースを含む名前を入力すると、 のscanf()
後のすべてが切り捨てられますLucas
。scanf()
スペースを許可する方法
c - scanf() と fgets() の違い
fgets()
と の違いを知りたいですscanf()
。プラットフォームとして C を使用しています。
c - scanf() は OS 内でどのように機能しますか?
ハードウェアおよび OS レベルで scanf()/printf() が実際にどのように機能するのか疑問に思っていました。データはどこに流れ、OS はこの時期に何をしているのでしょうか? OS はどのような呼び出しを行いますか? 等々...
c - AT CMGL 応答から電話番号を取得する方法は?
AT コマンドを使用してモデムからテキスト メッセージを読み取る C で書かれたアプリケーションがあります。モデムからの典型的な AT 応答は次のようになります。
コードは現在、最初の番号であるこの行から id のみを取得するように設定されており、次のコードを使用してこれを行います。
ここで、"line" はモデムからの行を含む文字配列で、"entry" は ID が格納される整数です。このコードを次のように拡張してみました。
%*s を使用して最初の引用符のペアのテキストをスキャンしてスキップし、次の引用符のペア (電話番号) のテキストを phonenr 文字配列に読み込むことにしました。
これは機能しません (%*s は明らかに "REC" を読み取り、次の %s は何も読み取りません)。
追加の課題は、テキストが「REC READ」に限定されていないことです。実際には、スペースのないテキストでもあります。
c++ - scanf と ddd を使用してプログラムをデバッグするにはどうすればよいですか?
ステートメントにddd
遭遇すると、scanf
「GDB の準備が整うまで待機しています」というメッセージが表示されます。デバッグ アクティビティはここで停止します。このバグを克服するために私を導いてください。
amd64 athlon プロセッサを使用しています。
c - fscanf のポインターに関する質問
C を使用しています。fscanf 関数のポインターの使用に問題があります。私がやろうとすると:
私のコンパイラは、「フォーマット引数はポインターではありません」という警告を出し、コードは実行されません (「Water.exe が動作を停止しました」というメッセージが表示されます)。x を *x に置き換えると、コンパイルされません... これは単なる構文の問題ですか?
c - 文字として格納されている16進文字列をCで10進数に変換する
コードで概説されている方法で4桁の16進数を含む文字列hex_txtが与えられ、2つの配列エントリに分割されます。10進数に変換する必要があります。以下は私がそれをしている方法です。
これを行うためのより速い、またはより効率的な方法はありますか?これは私の現在のアドホックソリューションですが、それを行う適切な方法があるかどうかを知りたいです。
c++ - scanf では気にしない
次のことを想像してください。
で文字列を読み取りますが、文字列scanf()
内のデータポイントのいくつかしか必要ありません。
適切なデータが存在するかどうかを確認する機能を失うことなく、不正な形式の文字列を簡単に拒否できるように、不要な情報を簡単に破棄する方法はありますか?
例:
私は最初の文字列を受け入れたいのですが、ビールはヤッキーなので、ビールのことは忘れてください。2 番目と 3 番目の文字列は明らかに 7/11 の適切なリストではないため、却下したいと思います。
ということで、以下の構築を考えました。
このようにして、フォーマットのチェックを続けますが、[don't care] に何を入れれば、コンパイラーは泣き言を言わないでしょうか?
もちろん、後で使用しない変数を作成することもできますが、それはこの質問のポイントではありません。また、左側と右側を別々にチェックすることは、私がここで探していない明らかな解決策です。
では、scanf や友人の文字列の種類を気にせずにチェックする方法はありますか?
c - scanf() で複数の値を取得する
ユーザーから一連の int を取得するために scanf() を使用しています。しかし、4 つの異なるプロンプトではなく、一度に 4 つの整数すべてをユーザーに提供してもらいたいと思います。次のようにして、1つの値を取得できることを知っています。
しかし、ユーザーが次のようなことができるようにしたいと思います:
これを行うことは可能ですか?