c語(yǔ)言 C語(yǔ)言中定義的__FILE__使用,如何只出現(xiàn)該文件名,而不顯示路徑?
C語(yǔ)言中定義的__FILE__使用,如何只出現(xiàn)該文件名,而不顯示路徑?宏定義可用于從文件名中刪除路徑名。由于文件名中的路徑分隔符在windows和Linux之間不同,在windows中為“/”,在Li
C語(yǔ)言中定義的__FILE__使用,如何只出現(xiàn)該文件名,而不顯示路徑?
宏定義可用于從文件名中刪除路徑名。由于文件名中的路徑分隔符在windows和Linux之間不同,在windows中為“/”,在Linux中為“/”,因此使用的宏不同:#include<string。H>//strrchr()函數(shù)需要一個(gè)頭文件windows:#define file name(x)strrchr(x,“”)?Strrchr(x,“”))1:xlinux:#定義文件名(x)Strrchr(x,“/”)?Strrchr(x,“/”)1:x調(diào)用:printf(“文件名%sn”,文件名(“file”)函數(shù)描述:函數(shù)原型:char*Strrchr(constchar*s,INTC)函數(shù):Strrchr()函數(shù)返回字符串[s]中最新出現(xiàn)的字符[C]。函數(shù)返回一個(gè)指針,指向最后出現(xiàn)在字符串s中的字符c的位置。如果c不在字符串s中,則返回null。PS:Linux提供了相應(yīng)的函數(shù):basename(s),用于獲取沒有路徑的文件名。
c語(yǔ)言頭文件類型及其用法?
C語(yǔ)言的頭文件如下:
#include<assert。H>//設(shè)置插入點(diǎn)
#包含類型(&T)。H>//字符處理
#包含<erno。H>//定義錯(cuò)誤代碼
#include<float。H>//浮點(diǎn)處理
#包含<fstream。H>//文件I/O
#包含ltiomanip(&L)。H>//參數(shù)化I/O
#包含ltiostream(&L)。H>//數(shù)據(jù)流I/O
#包含限制(&L)。H>//定義各種數(shù)據(jù)類型的最大常量
#include<locale。H>//定義本地化函數(shù)
#包括<math。定義數(shù)學(xué)函數(shù)
#包括<stdio。H>//定義I/O函數(shù)
#包括<stdlib。H>//定義其他函數(shù)和內(nèi)存分配函數(shù)
#include<string。H>///字符串處理
#包含<strStream。H>//基于數(shù)組的I/O
#包含時(shí)間(&L)。H>//定義有關(guān)時(shí)間的函數(shù)
#include<wchar。H>//寬字符處理和I/O
#包含<wctype。H>//寬字符分類