C言語:呼び出し元の関数名を関数に印刷する
901 ワード
Linux-cでの印刷呼び出し関数の名前
実行結果:
配列保存関数の名前文字列を定義します.
#include
#include
void func(unsigned char *func_buf)
{
printf("%s
",func_buf);
}
void aaaaa()
{
unsigned char func_buf[50] = {0};
sprintf(func_buf, "%s", __FUNCTION__);
func(func_buf);
}
void bbbbb()
{
unsigned char func_buf[50] = {0};
sprintf(func_buf, "%s", __FUNCTION__);
func(func_buf);
}
int main()
{
unsigned char func_buf[50] = {0};
sprintf(func_buf, "%s", __FUNCTION__);
func(func_buf);
aaaaa();
bbbbb();
return 0;
}
実行結果:
root@ubuntu:/home# ./test
main
aaaaa
bbbbb
root@ubuntu:/home#
配列保存関数の名前文字列を定義します.