問題タブ [format-string]

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.

0 投票する
1 に答える
109 参照

python - シェルスクリプト 16 進カウンター

シェル スクリプトに問題があります。

プログラム m4 を別の種類の文字列で実行したいので、次のスクリプトを書き留めました。

10 から FD まで 16 進数でカウントし、この値を文字列に入れます。次のエラーが表示されます。

ValueError: invalid \x escape

最初の質問: これは本当のエラーですか、それとも単なる警告ですか? 2 番目の質問: アドレスのすべての値が文字列に表示されるはずの 2 文字で構成されているのに、エラーが表示されるのはなぜですか?

0 投票する
1 に答える
450 参照

objective-c - コア データ述語「フォーマット文字列を解析できません」

NSManagedObjects他のオブジェクトと特定の関係を持つセットを取得しようとしています。

だから私は4つの管理対象オブジェクトを持っています:UserPick、、、、。UserPick は、 、、 と個別に一対一の関係にあります。特定の , andを持つすべての を見つける必要がありますが、述語を正しく構造化できないようです:GameGroupUserGameGroupUserUserPickGameGroupUser

私はもう試した:

と:

最後に:

考えられるあらゆる組み合わせで%@andを使用してみました。%K私が今までに返すのは: NSPredicate cannot parse format string. これどうやってするの?

0 投票する
2 に答える
83 参照

.net - .NET double 形式の文字列: 完全な小数点と桁区切り記号を取得するにはどうすればよいですか?

値がDoubleあり、フォーマット文字列を見つける必要があります。これは、この値を double 値の小数点以下の桁数と桁区切り記号で変換します。

たとえば、値が 1000000.1256 だとします。フォーマット文字列を使用しない場合、デフォルトの文字列には完全な 10 進数 (4 桁) が含まれますが、3 桁区切り記号 ( 1000000.1256) は含まれません。標準の書式文字列「N」を使用すると、出力は1,000,000.13になります。つまり、デフォルトで 2 つの小数を使用し、丸めを行います。しかし、丸めを実行したくありません。表示したいです1,000,000.1256。また、数値の小数点以下の桁数がわからないことに注意してください。そのため、2、4、またはその他のより大きな小数点以下の桁数ではなく、「完全な」小数点を表示したいと言いました。カスタマイズ文字列 "#,#.##########" を使用してこのようにできることを知っているので、小数点以下 10 桁まで表示され、数字が 10 桁を超える可能性はほとんどありません。しかし、これが唯一/最良の方法ですか?

0 投票する
2 に答える
385 参照

c - snprintfでこれまでに書いた文字

最近、確認したい奇妙なケースに気付きました。

SUS により%n、フォーマット文字列の for は、int出力に書き込まれるバイト数にそれぞれ設定されます。さらに、 forsnprintf(dest, 3, "abcd")destを指し"ab\0"ます。なんで?n (n = 3) バイト以下が出力 (destバッファー) に書き込まれるためです。

私はコードのためにそれを推測しました:

written2 に設定されます (null 終了はカウントから除外されます)。しかし、GCC 4.8.1 を使用して作成したテストでは、written5 に設定されていました。標準を誤解していましたか? バグですか?未定義の動作ですか?

編集:

@wildplasser 氏は次のように述べています。

... フォーマット文字列の %n の動作は、未定義または実装定義の可能性があります ...

... 実装では、完全なフォーマット文字列 (%n を含む) の処理を​​シミュレートする必要があります ...

@パーは言った:

writtenが検出された時点で書き込まれる文字数が 5 であるためです%n。これは正しい動作です。 末尾の null を引いた文字snprintfまでのみコピーします ...size

と:

これを見る別の方法は、最大 2 文字しか処理されなかった場合でも遭遇しなかったであろうということです。そのため、無効な値を持つことが%n予想されます...written

と:

... 文字列全体がprintf()ルールによって処理され、次にmax-length が適用されます ...

それが標準、標準草案、または何らかの公式ソースであることを確認できますか?

0 投票する
1 に答える
160 参照

c - long のサイズに基づいて sprintf フォーマット文字列を変更する方法

uint64_tと を使用して、16 進文字列からいくつかの値を読み込みたいと思いprintfますscanf

私が使用しているすべてのプラットフォームでlongorのサイズが同じであるとは限らlong longないため、次のようなフォーマット文字列を使用する"%llx"と、long long が 128 ビットのプラットフォームでは警告が"%lx"表示され、long long が 64 ビット (および long long より小さい) のプラットフォームでは警告が表示されます。 )。

私が最初に考えたのは、フォーマット文字列をマクロで定義することでしたが、sizeof はマクロ式ではサポートされていません。

できれば警告なしで、どのプラットフォームでも機能するようにフォーマット文字列を定義する方法はありますか?

0 投票する
2 に答える
967 参照

python - Pythonで変数の値をリークする方法

ちょっとみんな、この生の入力を悪用して、プログラム内から変数「非表示」の値をリークする方法はありますか? つまり、入力だけでコード行を実行できますか? プログラムを攻撃するフォーマット文字列を試しましたが、うまくいきませんでした。注: コードは変更できません。

助言がありますか?