0

起動引数から文字列を定義することは可能ですか?

たとえば、ヘッダー ファイルに次のコードがあります。

#define MsgBox "Hello there!"

#define文字列がコマンド ライン引数から取得されるようにするにはどうすればよいですか?

したがって、次のようにアプリケーションを起動するとします: app.exe -Test! - MsgBox は "Test!" として定義されます。

説明が下手で申し訳ありませんが、少なくとも何人かは理解していただけたでしょうか。プログラムのエントリ ポイントからではなく、コマンド ライン引数から#define MsgBoxを取得することが重要です。すべてのコードはヘッダー ファイルにある必要があります。

正直なところ、どこから始めればよいかわからないため、何も試していません。

4

1 に答える 1

0

#defineはプリプロセッサ コマンドであるため、これは不可能です。つまり、コンパイル時に行われる検索と置換と考えることができます。(これらは他の用途にも使用できますが、重要なのは、コンパイル時に評価されることです)。

変数を使用しないのはなぜですか?そうすれば、タイプセーフでもあります。

更新: 定義の使用

引数をいくつかのグローバルに保存したとしますlpCmdLine

次に、定義は次のようになります

#define MsgBox lpCmdLine
于 2013-11-06T12:41:53.090 に答える