好吧,这可能是我曾经问过的一个不那么聪明的问题。可悲的是,谷歌让我没有回答(也没有堆叠)。
在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”
答案 0 :(得分:7)
来自here:
路透社库替换默认文件名中的{p}字符串 创建日志文件时使用UNIX进程ID。
答案 1 :(得分:2)
这与C ++无关。 C ++永远不会看到你的字符串。对于"%d"同样如此。在printf。这完全取决于printf()正在做什么。
要回答您的问题,您需要参考解析字符串的实际对象。
答案 2 :(得分:2)
这不是标准的C ++。它的定义可能是一个记录器库。您应该查看此parcitular库的文档以找出{P}
的含义。特别是,在您用于声明setString()
的任何类中查看pSDB
方法的文档。