本篇 ShengYu 介紹 C/C++ __FILENAME__ macros 巨集的用法,C/C++ 標準的預定義巨集裡沒有原始檔檔名 __FILENAME__ 巨集,只有原始檔檔案路徑 __FILE__ 巨集,以下內容介紹透過一些方法來得到 __FILENAME__ 巨集。  
C/C++ 標準的預定義巨集 macros 中有 __FILE__,通常是印出該原始檔的絕對路徑,例如:1
/full/path/to/file.c
但是如果只想印出原始檔的檔名的話,像下面輸出這樣,要怎麼做呢?1
file.c
由於 C/C++ 標準的預定義巨集沒有 __FILENAME__ 這樣的巨集可以使用,那我們就自己作一個 __FILENAME__ 巨集,
如下範例,原理是用 strrchr 從右邊開始尋找 '/' 有找到的話就回傳找到的指標+1,使用 strrchr 需要加入標頭檔 #include <string.h>,1
如果是 Windows 平台的話,就將 '/' 換成 '\\',如下範例,1
以上就是 C/C++ __FILENAME__ macros 巨集介紹,
如果你覺得我的文章寫得不錯、對你有幫助的話記得 Facebook 按讚支持一下!  
參考
https://stackoverflow.com/questions/8487986/file-macro-shows-full-path  
其它相關文章推薦
如果你想學習 C++ 相關技術,可以參考看看下面的文章,
C/C++ strrchr 用法與範例
C/C++ 新手入門教學懶人包
C/C++ 字串搜尋的3種方法
C/C++ strstr 用法與範例