#define LINE_FILE ("Line"#__LINE__"of file"__FILE__)
int main(void)
{
printf("%s", LINE_FILE);
}
如上的预处理命令,希望
LINE_FILE = "Line 行数 of file 文件名"
然而编译器报错,也不知道错在哪。。。
#define LINE_FILE ("Line # __LINE__ of file __FILE__")
就算可以用也应该是这种格式啊! __LINE__ 和 __FILE__ 这个是define 会直接提换!
补充:
在c艹中:
#define LINE_FILE std::cout<<"Line # " << __LINE__ << " of file "<<__FILE__<<std::endl;
这个宏定义是可以用的!
直接使用 : LINE_FILE
#define LINE_FILE "Line # " << __LINE__ << " of file "<<__FILE__
换成这样的话需要
这样使用 : std::cout<< LINE_FILE <<std::endl;
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。