問題タブ [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.
delphi - Delphi に *SysUtils.Format* の逆関数はありますか
Delphi 用の「UnFormat」ルーチンを作成した人はいますか?
私が想像しているのはSysUtils.Formatの逆で、次のようになります
UnFormat('a number %n and another %n',[float1, float2]);
したがって、フォーマット文字列を使用して文字列を一連の変数にアンパックできます。
SysUtils の「Format」ルーチンを見てきましたが、アセンブリを使用したことがないので意味がありません。
gcc - gcc の使用時に scanf() (および cin) ステートメントがスキップされる
コード内で複数のscanf()
ステートメントが検出された場合、最初のscanf()
ステートメントを除き、他のステートメントはすべてスキップされますscanf()
。つまり、コードの実行時にそれらのステートメントの入力を求めるプロンプトは表示されません。
私はいくつかの提案を試しました。たとえば、flushall()
あるサイトでの使用が提案されましたが、コンパイル エラーが発生します。
どんな助けでも大歓迎です。
[コードは回答として追加されました。]
c - fopen で scanf() を使用する方法
私はプログラムを書いていますが、scanf と fopen を一緒に使用するのに問題があります。
私が言うことができることから、私の間違った行は次のようです:
開いたファイルには、次のような気象データのリストがあります。
(これらのスペースはタブです)
表示されるエラーは「[警告] 互換性のないポインター型から `scanf' の引数 1 を渡しています」です。
誰でも私を助けることができますか?
stdin - ファイルのstdinを置き換えます
私はこのようなfscanfを備えたプログラムを手に入れました:
fscanf(stdin、 "%d%d、...。
テストしたいfscanfとファイルがたくさんあります。ファイルは次のとおりです。
10485770 15 51200000 -2 10 10 10485760 10485760 10 10485760 10485760 10 10485760 10485760
私の質問は、キーボードからではなく、それらのファイルから入力を取得するようにプログラムまたはコンパイラにどのように指示できるかということです。これらのプログラムはベンチマークであり、入力を取得したファイルには、場合によっては多くの入力があるため、これを自動的に行う方法があると確信しています。前もって感謝します。
c - printf() は "%f" だけで問題ないのに、scanf() は double に "%lf" を必要とするのはなぜですか?
引数が a であるか aであるかに関係なく、 a を読み取るときに in " "が必要なscanf()
のはなぜですか?l
%lf
double
printf()
%f
double
float
コード例:
c - Cのscanfで入力を解析する
使い方がわからなくてずっと悩んでいましたscanf()
。かなり単純なので、整数で問題なく動作するようですscanf("%d", &i)
。
私が問題に直面しているのはscanf()
、入力を読み取ろうとする in ループの使用です。例えば:
のような有効に構造化された入力を入力すると
c P101
、プロンプトが表示される前に再びループするようです。これは、単一でも発生するようです:while ループで。再度プロンプトを表示する前に、ループを 2 回実行します。2 回ループさせているのは何ですか?どうすれば停止できますか?
プログラムで などの別の文字や数字を持たない少ない量の入力を入力すると
q
、Enter キーを押すと、さらに入力するように求められるようです。scanf()
1文字入力と 2 文字入力の両方を処理するにはどうすればよいですか?
c - fscanf で省略可能なパラメーターを無視する
Number <-whitespace-> string <-whitespace-> optional_3rd_column のような行を持つファイルを読み取るために fscanf を使用しています
各列から数値と文字列を抽出したいが、3rd_column が存在する場合は無視する
データ例:
12 foo something
03 bar
24 something #randomcomment
12,foo; を抽出したいと思います。03、バー; 24、「何か」と「#ランダムコメント」を無視して何か
私は現在、次のようなものを持っています
ただし、これは 3 列目のない行では機能しません。2番目の文字列以降をすべて無視するにはどうすればよいですか?
c - C のコマンドラインから md5sum を受け入れるにはどうすればよいですか?
./program -h ffffffffffffffffffffffffffffffff
上記をしたいのですが、sscanfがmd5sumをちゃんと受け付けない...
c - 文字列を珍しい整数型に移植可能に変換する方法は?
scanf()
いくつかの背景: たとえば、文字列を のような標準の整数型に変換するために for を使用したい場合は、次のようにfromuint16_t
を使用します。SCNu16
<inttypes.h>
しかし、より珍しい整数型のようなpid_t
ものにはそのようなものはありません。では、通常の整数型のみがサポートされてい<inttypes.h>
ます。printf()
移植可能な aに別の方法で変換するには、次のように にpid_t
キャストしてintmax_t
使用できますPRIdMAX
。
scanf()
ただし、 に移植可能にする方法はないようですpid_t
。これが私の質問です:これを移植可能にするにはどうすればよいですか?
にキャストしてから、値がの制限内にあることを確認してから にキャストすることを考えscanf()
ましたが、 の最大値または最小値を取得する方法はないようです。intmax_t
pid_t
pid_t
pid_t