int main(void)
{
printf("%s", LINE_FILE);
}
如上的预处理命令,希望然而编译器报错,也不知道错在哪。。。
LINE_FILE = "Line 行数 of file 文件名"
然而编译器报错,也不知道错在哪。。。
http://ww2.sinaimg.cn/large/005FchG6gw1esazxa0fenj30he06jjt7.jpg
1
rundis OP |
2
Kristd 2015 年 5 月 20 日
是__FILE__和__LINE__吗
|
3
ytimex 2015 年 5 月 20 日
感觉是#define
|
4
VirgilMing 2015 年 5 月 20 日
你最好把整个代码用 Markdown 的代码块包起来。现在这个没法看。
|
6
rundis OP <pre>
#define LINEFILE ("Line"#LINE"of file"FILE_) int main(void) { printf("%s", LINE_FILE); } </pre> 重打一遍。。。 |
8
clapse 2015 年 5 月 21 日
#define LINE_FILE(LINE,FILE) \
printf("Line %s of file %s",#LINE,#FILE) int main(void) { LINE_FILE(21,"TEST"); return 0; } |
10
clapse 2015 年 5 月 22 日
@rundis ,抱歉,昨天读题能力被封印了
#include <stdio.h> using namespace std; #define LINETOSTR(LINE) #LINE #define FILETOSTR(FILE) #FILE #define LINE_FILE_PRINT(LINE,FILE) \ printf("Line %s of file %s",LINETOSTR(LINE),FILETOSTR(FILE)) #define LINE_FILE LINE_FILE_PRINT(__LINE__,__FILE__) int main(void) { LINE_FILE; return 0; } |