#include<stdio.h>
#include<string.h>
#define FILE_NAME(x) (strrchr(x,'/')?strrchr(x,'/')+1:x)
void main(void)
{
printf("filename:%s\n", __FILE__);
printf("%s\n",__DATE__);
printf("%s\n",__TIME__);
printf("filename:%s\n",FILE_NAME(__FILE__));
}
/*
#include <string.h> //strrchr()函数所需头文件
//windows:
#define filename(x) strrchr(x,'\\')?strrchr(x,'\\')+1:x
//linux :
#define filename(x) strrchr(x,'/')?strrchr(x,'/')+1:x
printf( "filename:%s\n", filename( __FILE__ ) );
*/
#include<stdio.h>
#include <stdarg.h>
void NewPrintf(const char* format, ...)
{
va_list args;
va_start(args,format);
vprintf(format,args); // 用vprintf
va_end(args);
}
int main()
{
int a = 0;
int (*myshow)(const char *,...);//printf的函数原型
printf("the printf is %p\n",printf);
//myshow = (int (*)(const char *,...))0x401bb0;//或者
myshow = printf;//0x401bb0为printf的地址
NewPrintf("=====%#x\n",a);//使用myshow实现printf功能
return 0;
}