是否有广泛可用的`__FILE__`的宽字符变体?

Lig*_*ica 13 c++

一个大致可以使用__LINE__和__FILE__在C++程序,许多工具链,包括GCC.

__LINE__根据海湾合作委员会评估的类型表达int;
__FILE__评估char const[N]其中N是适当的值.

  • 是否有任何主要工具链提供__FILE__与类型相同的wchar const[N]?
  • 如果是这样,它是什么?

Mar*_*nen 26

你可以自己做WFILE:

#define WIDE2(x) L##x
#define WIDE1(x) WIDE2(x)
#define WFILE WIDE1(__FILE__)
Run Code Online (Sandbox Code Playgroud)

  • @zar`WFILE`没有参数.你可以做`WIDE1(__ FILE __)`它会起作用.`WIDE2(__ FILE __)`本身会生成`L__FILE__`,这是一个错误.你需要双层至少扩展`__FILE__`宏,第三层是你只需要输入`WFILE`. (3认同)
  • @zar 尝试一下,您就会知道原因。 (2认同)