問題タブ [stringification]

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 投票する
2 に答える
265 参照

c++ - マクロの展開された値を引用する

これは私を夢中にさせています。-Dオプションを使用してコマンドラインで定義されたマクロがあります

そして、私はこのようなことをしたい

取得するため

でエスケープしようとしても、コマンドラインからの引用符が取り除かれているよう\です。文字列化と追加のマクロで考えられることはすべて試しましたが、うまくいきません。#標識の配置ミスについてプリプロセッサからエラーが発生するか、最終的に

これは明らかにコンパイルされません。

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

c - GNU C プリプロセッサ: マクロ評価の結果を文字列化する

長さ値の文字列に変換したい共通の文字列マクロがあり、可能であればすべてマクロ内にあるため、すべてが.rodata.

PAYLOAD_LEN を文字列として、別の文字列の一部として使用したいと思います。

#define PAYLOAD_LEN 3これは不可能だと思います。たとえば、PAYLOAD_LEN をリテラルとして定義してから stringify する必要があると思います

.rodata実行時に忘れて生成することはできますが、したくありません。

これは、たとえば、ここや他の多くの質問で既に尋ねられ、回答されている質問ではないことに注意してください。

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

c - ## 演算子を使用したマクロ展開で string または char 定数を作成する方法

私は次のことをしようとしています:

両方のputsステートメントでエラーが発生します。\nどちらもプリプロセッサ トークンであるため、これらのステートメントでnそれらを正しく出力することを期待していましたputsが、Bloodshed/DevC++ コンパイラで次のエラーが発生しました。

24:1 G:\BIN\cLang\macro2.cpp "\" と "n" を貼り付けると、有効な前処理トークンが得られません

私が行方不明になっているという事実はどこにありますか?

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

c - C プリプロセッサ: stringize マクロと identity マクロ

このコードの出力の背後にある理由を知りたいです。答えが思いつきませんでした。

PS:出力は12 f(1,2)。私はそれが12 12またはだと思ったf(1,2) f(1,2)

0 投票する
3 に答える
2023 参照

json - インデントされた文字列へのJSONValue

Delphi XE2では、JSONLintのように、を受け取りJSONValue、インデントを返す関数を作成する必要があります。このJSONValueは、任意のタイプのJSON、配列、オブジェクト、さらには文字列である可能性があるため、この関数ですべてのタイプをカバーする必要があります。どこから始めたらいいのかわからない。String

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

c - プリプロセッサ構文でconstcharを取得する

タイプミスを修正し、私が言及するのを忘れていた問題を追加するために、ここにマクロがあります:

上記のコードが生成されtimings/test1 .new、その余分なスペースがなかった場合、私は欲しいものを手に入れることができますが、どうすればそれを回避できますか?

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

c - #defined定数を文字列に変換する

私は定数を定義しています:

私はこれをやろうとしています:

しかしもちろん、それは機能しません。

上記のscanf呼び出しで使用できるように、MAX_STR_LEN数値を文字列に変換するために使用できるプリプロセッサのトリックは何ですか?基本的に:

XYZ()はどうあるべきですか?

注:もちろん、「%100s」を直接実行することはできますが、それでは目的が果たせません。#define MAX_STR_LEN_STR "100"を実行することもできますが、より洗練されたソリューションを望んでいます。

0 投票する
6 に答える
17230 参照

javascript - 関数式を文字列化できないのはなぜですか?

なぜこれは何も生み出さないのですか?

0 投票する
5 に答える
2207 参照

c - 長い #include ディレクティブを 2 行に分割できますか?

非常に長いインクルード パスが必要であるにもかかわらず、コードが 1 行あたり 80 文字に準拠できるように、#include ディレクティブを 2 行に分割する方法があればいいのにと思います。

コンパイラの検索パスを拡張する以外に、どうすればこれを管理できますか? 非常に長いパス文字列を 2 行に分割する方法はありますか?

「#define」マクロの展開は明らかに #include 展開の後に行われるため、これらは機能しません。

私も試してみました

無駄に。おそらく私が望んでいることは不可能ですか?助けて、スタックオーバーフロー・ケノービ、あなたが私の唯一の希望です。

回答:以下の提案された回答に基づいて構築すると、実際に私にとってうまくいったのは次のとおりです。

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

c - #defineの置換と文字列化

same2、same1を置き換え、連結するフローを理解しようとしています。

私はこれを多くの場所から理解しようとしましたが、理解できません。誰かがそれをもっと明確に説明できますか?