問題タブ [printf]
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.
php - ばかげた sprintf() の質問
これに SQL ワイルドカード文字を追加するにはどうすればよいですか。
なので
見事な炎の玉となって爆発し、
PSかなり基本的な質問で申し訳ありません。最近はコーヒーを控えています。
java - CharBuffer などと組み合わせた Java の printf() 機能
ここで少し混乱しています。
私はこのようなことをしたいと思います:
- 書き込み可能なある種のバッファを作成します
- バッファをクリアする
- printf() のような関数を数回使用して、一度だけ実行したい複雑な計算に基づいて、一連のものをバッファーに追加します
- バッファの内容を使用して、いくつかの
PrintStream
オブジェクトに出力します - 必要に応じて手順 2 ~ 4 を繰り返します
例えば:
PrintWriterをStringWriterの周りにラップすると、メソッドがないことをsb
除いて、上記のオブジェクトに必要なことが行われるようですclear()
。ループのたびに新しい PrintWriter オブジェクトと StringWriter オブジェクトを作成できると思いますが、それは面倒なようです。(私の実際のコードでは、1回のループで1回だけでなく、いくつかの場所でこれを行います...)
私もjava.nio.CharBuffer
他の NIO バッファを多く使用しており、それは有望なアプローチのように思えますが、機能を提供するオブジェクトでそれらをラップする方法がわかりませんprintf()
。
何かアドバイス?
c - 変数名を指定せずに %d を出力するときの printf の動作
奇妙な問題に遭遇しました。整数変数を出力しようとしましたが、変数名を指定するのを忘れていました。
それ以外の
驚くべきことに、プログラムがコンパイルされ、出力があり、ランダムではありません。実際、それはたまたま最初に印刷したかったまさに整数であり、たまたま m-1 です。
エラーのあるprintf
ステートメントは、プログラムが実行され続ける限り、一貫して m-1 を出力します...つまり、ステートメントが読み取った場合とまったく同じように動作します
この動作の背後にある理由を知っている人はいますか? コマンドラインオプションなしで g++ を使用しています。
c++ - fprintf/printfを使用してダッシュまたはドットを出力するには?
今のところ、ドットなしで印刷するために以下の行を使用しています
出力は次のようになると予想しています。
fprintf/printfを使用してダッシュまたはドットを出力するには?
c - C でライブラリ関数を使用せずに、文字、文字列、または変数の値をどのように出力しますか?
たとえば、 のような標準ライブラリ関数を使用しない場合printf()
、putchar()
どうすれば文字を画面に出力できますか?
それを行う簡単な方法はありますか。私はシステムコールについてあまり知りません。システムコールを使用する必要がある場合、どのように使用すればよいですか? ライブラリ関数を使用せずに印刷する簡単な方法をアドバイスできる人はいますか?
c - 純粋な C で void 型を出力する
私は次のような機能を持っています
ボイドポインターを渡して画面に出力したい場所。上記の例は、i が integer、float、または double の場合は問題ありませんが、i が char の場合はクラッシュします。私が通常C++で使用するようなオーバーロードはCにはありません。したがって、問題はこれです.Cで関数を作成して、そのパラメーターである要素を出力できますか.
c - データを sprintf と通常の printf の両方に送信する my_printf を作成しますか?
私はprintfと、通常のprintfを呼び出すmy_printf(...)と結果を特別な関数に送信するsprintfを書くというアイデアで遊んでいます。(ほとんどのプラットフォームでprintfと同じように動作するため、sprintfについて考えていました)。
私の考えは、これを行う小さなマクロを書くことでした:
しかし、sprintf は文字列を X よりもはるかに大きなサイズに拡張できるため、このメソッドはほぼ直接壊れます。
そして、数値を追加するだけで、malloc は問題を攻撃するのに間違った方法のようです.
この問題に対処する方法について、より良いアイデアを持っている人はいますか? または、sprintf の結果がどのくらい大きくなるかをどうやって知ることができますか?
ありがとうヨハン
更新: printf が印刷する文字数を返すことを忘れていました。既にマクロで printf を呼び出しているため、数値を保存する int を追加するのは非常に簡単でした。
更新:私はこれについて考えていましたが、おそらくエフェミエントが提案したものによく似た通常の関数を使用することは良い考えです. ここで鍵となるのは、さまざまな printf 関数 (vprintf、vsprintf、および vsnprintf) の v バージョンのようです。ご指摘ありがとうございます。
ありがとうヨハン
c - bash で C プログラムの出力をリダイレクトする際の問題
printf を使用して stdout にメッセージを送信するプログラムを C でコーディングしましたが、出力をファイルにリダイレクトするのに問題があります (bash から実行)。
私はもう試した:
いずれの場合も、ファイル program.out が作成されますが、空のままです。実行終了後のファイルサイズは 0 です。
プログラムの実行時にリダイレクトを省略した場合:
次に、printf を使用して stdout に送信されたすべてのメッセージがターミナルに表示されます。
この方法で出力をリダイレクトしても問題ない他の C プログラムがあります。それはプログラム自体と関係がありますか?引数を渡して?どこで問題を探す必要がありますか?
C プログラムに関するいくつかの詳細:
- stdin からは何も読み取らない
- BSD インターネット ドメイン ソケットを使用します。
- POSIX スレッドを使用します
- sigaction を使用して、SIGINT シグナルに特別なハンドラ関数を割り当てます。
- 多くの改行を標準出力に送信します(フラッシュする必要があると考えている人向け)
いくつかのコード:
c++ - sprintf によって書き込まれる文字数を決定する方法はありますか?
私はC++で作業しています。
sprintf (具体的には _snprintf_s のような安全なカウント バージョンですが、考え方は同じです) を使用して、潜在的に非常に長い形式の文字列を書きたいと考えています。おおよその長さはコンパイル時に不明であるため、大きな静的バッファーに依存するのではなく、動的に割り当てられたメモリを使用する必要があります。特定の sprintf 呼び出しに必要な文字数を決定する方法はありますか?
私のフォールバックは、フォーマット文字列の長さを2倍にして試してみることです。機能する場合は素晴らしいです。機能しない場合は、バッファーのサイズを 2 倍にして、もう一度やり直します。合うまで繰り返す。正確には最も賢い解決策ではありません。
C99 は、長さを取得するために snprintf に NULL を渡すことをサポートしているようです。他に何もなければ、その機能をラップするモジュールを作成できると思いますが、私はそのアイデアに夢中ではありません。
「/dev/null」/「nul」への fprintf が代わりに機能する可能性がありますか? 他のアイデアはありますか?
編集:または、sprintf を「チャンク」して、書き込み中にピックアップする方法はありますか? それが可能であれば、バッファを埋めて処理し、中断したところから再充填を開始できます。
c - printf使用時のセグメンテーション違反
浮動小数点例外のシグナル ハンドラで Linux C コードをデバッグしています。目標は、浮動小数点レジスタをチェックし、いくつかの情報を出力してから中止することです。の結果を印刷しようとすると、セグメンテーション違反が発生し(char)('0' + phyreg)
ます。
(char)('0' + phyreg)
別の行に移動して結果を一時変数に保存すると、printfが一時変数を表示しようとするまでセグメンテーション違反が発生しないため、問題は計算ではありません。では、segfault を引き起こすバグはどこにあるのでしょうか?