C++中 __FILE__什么意思啊

2024-12-29 13:28:23
推荐回答(3个)
回答1:

这是编译器内置宏,这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息。例如:
printf("FILE: %d, %s/n", "__FILE__, "这里写上相关信息");

ANSI C标准中几个标准预定义宏:
__LINE__:在源代码中插入当前源代码行号;
__FILE__:在源文件中插入当前源文件名;
__DATE__:在源文件中插入当前的编译日期
__TIME__:在源文件中插入当前编译时间;
__STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1;
__cplusplus:当编写C++程序时该标识符被定义。

回答2:

__FILE__是编译器内部定义的宏,他代表了当前文件的文件名。假如你当前的一个CPP文件是test.cpp。
在这个文件中有这样一句cout<<__FILE__那么输出为:路径/test.cpp

回答3:

是由编译器预定义的宏,编译时被替换为字符串(const char*类型),表示其所在的文件(的路径)。如:
cout << __FILE__ << endl;
会输出这条语句所在的cpp文件的路径。
类似的宏还有__LINE__, __TIME__等等,具体参看编译器文档。