【发布时间】:2013-10-16 10:41:05
【问题描述】:
有没有一种简单的方法来构建包含_FILE_ 和_LINE_ 值的字符串?
我可以这样做:
std::stringstream ss;
ss << "Error in "<<_FILE_<<":"<<_LINE_<<" - too many bees!";
log(ss.str());
但与理想相比,这是一个 PITA:
log("Error in "+_FILE_+":"+_LINE_+" - too many bees!");
在 C++/STL/boost 中是否有一种巧妙的方法可以做到这一点?注意我仅限于较旧的编译器,没有 C++11!
【问题讨论】:
-
顺便说一句,应该是
__FILE__和__LINE__ -
我看到带有单下划线和双下划线的问题,还有
_line- 是所有版本都存在还是只是人们在打字时很懒惰? -
@AlexFarber 相同的基本问题,但没有完整的答案(提供了工作代码示例)如果有人为任一问题提供了一个,那将是理想的。
-
@John 您需要自定义日志消息的哪一部分?我怀疑您是否想在每次想要记录某些内容时继续输入
__FILE__和__LINE__。