c++__file__过长
时间: 2024-01-10 22:21:26 浏览: 136
FileGDB_API_1_5_64clang.zip
在C++中,__FILE__宏用于获取当前源文件的完整路径和文件名。然而,有时候文件路径过长可能会导致编译错误或者不方便阅读代码。为了解决这个问题,可以使用__FILENAME__宏来代替__FILE__宏,并将文件路径缩短为相对路径。
下面是一个示例,演示如何在C++代码中使用__FILENAME__宏来获取相对路径:
```cpp
#include <iostream>
#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
int main() {
std::cout << "Current file: " << __FILENAME__ << std::endl;
return 0;
}
```
在上面的示例中,我们定义了一个宏__FILENAME__,它使用strrchr函数来查找最后一个斜杠字符'/',然后返回该字符后面的字符串,即文件名。如果没有找到斜杠字符,则直接返回__FILE__。
通过使用__FILENAME__宏,我们可以在输出中得到相对路径的文件名,而不是完整的文件路径。
阅读全文