0

わかりました、これは私が最近尋ねた中で最も賢明ではない質問の 1 つかもしれません。悲しいことに、グーグルは私に答えを導きませんでした(どちらもスタックしませんでした)。

C++ dll ファイルには、次の行があります。

pSDB->setString("Logger\\AppLogger\\fileLoggerFilename", "rfa.{P}.log")

私は一生、{P} が正確に何を表しているのかを見つけることができません。ディレクトリに、「rfa.6702.log」、「rfa.6829.log」、または「rfa.7024.log」のようなログが記録されます。

それらが増え続けていることに気づきます。これは合法的に C++ の何かを意味するのでしょうか、それともコードで設定されたパラメーターだけでしょうか?

編集:

このコードは、ロイター接続を処理しています。はpSDB

"rfa::config::StagingConfigDatabase *ConnectionManager"

4

3 に答える 3

7

ここから:

ロイター ライブラリは、ログ ファイルを作成するときに、デフォルトのファイル名の {p} 文字列を UNIX プロセス ID に置き換えます。

于 2012-09-21T20:54:43.690 に答える
2

これは C++ とは関係ありません。C++ は文字列の中を調べません。printf の "%d" についても同様です。すべては printf() が何をしているかの問題です。

あなたの質問に答えるには、文字列を解析している実際のオブジェクトを参照する必要があります。

于 2012-09-21T20:53:06.553 に答える
2

これは標準の C++ ではありません。ロガーライブラリのように見えるもので定義されています。手段を見つけるには、この特定のライブラリのドキュメントを参照する必要があります{P}setString()特に、宣言に使用したクラスのメソッドのドキュメントを参照してくださいpSDB

于 2012-09-21T20:53:39.510 に答える