問題タブ [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++ - scanf を使用して入力を検証する方法
scanf を使用してユーザー入力を検証するにはどうすればよいですか。今、私はこのようなものを持っていますが、うまくいきません。
注:scanf検証が機能することを検証するためだけにatoiがあります。
c# - scanf に相当する C# を探しています
以前は C 言語でコーディングしていましたが、このscanf
関数は非常に便利でした。残念ながら、C# には同等のものはありません。
私はそれを使用して半構造化テキストファイルを解析しています。
ここscanf
で実装の興味深い例を見つけました。残念ながら、それは古くて不完全に見えます。
scanf
C#の実装を知っている人はいますか? または、少なくとも逆として機能するものはありstring.Format
ますか?
c - 初心者の scanf_s() 障害
scanf_s() に奇妙な点があることは知っていますが、問題を解決できませんでした。私のコードは scanf() を使用してうまく機能しますが、これは配列の要素を逆にしません:(
c++ - C/C++ は stdin からの hexinput からバイトを読み取ります
C/C++ で次のことを行う方法を正確に見つけることができません。
入力: 16 進値、例: ffffffffff...
入力を読み取るために、次のコードを試しました。
これで問題なく動作しますが、2 バイトを 1 バイトの値に分割するにはどうすればよいですかuint8_t
(または、最初のバイトのみを読み取ることもできます)。入力から最初のバイトを読み取り、選択した位置のバイト マトリックスに格納します。
私は C/C++ での入力の書式設定/読み取りにあまり熟練していないため (これまでは scanf しか使用していませんでした)、これを簡単に (できれば高速に) 行う方法に関する他のアイデアは大歓迎です。
編集: fread 関数を使用すると、ストリーム (この場合は stdin) から読み取って変数/配列に保存するバイト数を指定できるため、さらに優れた方法が見つかりました。
パラメーター
ptr - 最小サイズが (size*count) バイトのメモリ ブロックへのポインター。
size - 読み取る各要素のバイト単位のサイズ。
count - 要素の数。それぞれのサイズは size バイトです。
stream - 入力ストリームを指定する FILE オブジェクトへのポインター。
c++ - sscanfの代わりに何を使用すればよいですか?
sscanfが解決する(文字列から物を抽出する)という問題があります。sscanfはタイプセーフではなく、古くて恐ろしいので、私は好きではありません。私は賢くなり、C++標準ライブラリのより新しい部分を使用したいと思っています。代わりに何を使用すればよいですか?
c - fscanf 読み取りの問題
すみません、これはばかげた質問かもしれません。
次のようなファイルがあります。
36 146 10 53 240 133 104 28 51 81 124 ...
プログラムから数値を読み取りたいので、次のようにします。
....いくつかの機能.....
しかし、プログラムが結果を画面に出力すると、次のようになります。
0 0 0 0 0 0 0 0 0 0 0 0 .....
何か案は ?
c - sscanfと文字列
Ruby拡張の目的でCでいくつかのCSVデータを解析しています。各行からデータを引き出すために、次のようにsscanfを使用しています。
これを実行すると、次のようになります。
null文字列に注意してください。基本的に、sscanfが何らかの理由でこれらにつまずいているようです。ドキュメントをよく読んでも理由がわかりません。何か案は?
c - scanfの形式でハードコードされた文字列
「point%d%d」のような形式の行を一致させようとしています。したがって、これら2つの整数を2つだけ必要とする場合、「ポイント」はフォーマット文字列にハードコーディングされます。scanfのLinuxのマニュアルページを読んでいることを理解しているので、これは正しく機能するはずです。
次のコード、私が使用したい方法、scanfへの最初の呼び出しは機能しますが、次の呼び出しscanfはエラーコードを返し、stdinからそれ以上の数値を取得することはありません(scanfはstdinからの入力を待つことをブロックしません):
このようにして、すべてが期待どおりに機能します。
私が誤解している可能性があることについての提案はありますか?
ありがとう。
c - scanfは文字列内のフォーマット文字を識別できますか?
次のように、コンマを購入して区切られた標準入力のアイテムのリストを期待しているとしましょう。
また、ユーザーがアイテムとコンマの間に空白を入れることを許可したいので、この種の入力は私のプログラムでは合法です。
私がこのように使用する場合scanf
:
入力全体を1つの文字列として参照するため、空白がない場合(テスト済み)は失敗します。では、C標準ライブラリ関数だけでこの問題を解決するにはどうすればよいでしょうか。
c++ - scanf() が奇妙な結果を引き起こす
興味深い質問を提示するコードがあります(私の意見では)。
入力する数値の順序は、浮動小数点数、次に 10 進数 (基数、次に指数) であることに気付いた場合。しかし、整数基数と浮動小数点指数で入力を入力すると、奇妙な結果が生成されます。
浮動小数点指数の 2 番目の数値を次の入力に戻すようです。舞台裏で何が起こっているのか誰かが説明できることを望んでいました。これは配列の境界をチェックしない scanf() の作業であることは知っていますが、誰かが私にもう少し深い理解を与えることができれば、本当に感謝しています。ありがとうスタックオーバーフロー。-MI
編集。皆さんの意見に感謝したいと思います。他の回答は大歓迎です。ありがとう、SO