一个关于 __LINE__ 和 __FILE__ 的宏不会写,这个练习仅针对高级程序员,太坑爹了
题目:如果需要一个宏,使它扩展后包含当前行号和文件名。换而言之,我们想把
const char *str = LINE_FILE;
扩展为
const char *str = "Line 10 of file foo.c";
其中foo.c是包含程序的文件,10是调用LINE_FILE的行号。警告:这个练习仅针对高级程序员。
我第一次写的是这样:
#define LINE_FILE "Line "##__LINE__##" of file"##__FILE__
我第二次写的是这样:
#define LINE_FILE "Line __LINE__ of file"##__FILE__
统统都不行啊,要崩溃了,求大神解答,这题书上也不给答案。