我想制作一个脚本,在每个.C和.H文件中添加一个文件ID号。这用于标识从哪个文件生成错误消息。
所以每个文件都有一个唯一的数字,例如:
fileID (magic)
问题是,这仅需要在该文件中退出。因为每个文件都有它自己的。
编辑:我需要一个数字而不是一个字符串。因此__FILE__
不起作用。
我通常将此宏用于错误消息:
#define P_ERR(format, ...) \
fprintf(stderr, "%s:%d:%s: " format "\n", __FILE__, __LINE__, strerror(errno), ##__VA_ARGS__)
您可以在docs中了解所有这些宏。
特定于__FILE__
:
__FILE__
该宏以C字符串常量的形式扩展为当前输入文件的名称。这是预处理器打开文件的路径,而不是在“ #include”中指定的简称或作为输入文件名参数的路径。例如,“ / usr / local / include / myheader.h”是此宏的可能扩展。