簡體   English   中英

從文件或路徑獲取FILE擴展名

[英]Get FILE extension from a file or path

我正在嘗試創建一種可以獲取文件擴展名的方法。 我發現了多種選擇,而這是我的解決方案:

const char *getExt(const char *filename) {
    const char *ext = strrchr(filename, '.');
    if(!ext || ext == filename){
        return "No Extension";
    }else{
        return ext + 1;
    }
}

現在,問題在於擴展名.tar.gz

我如何也可以選擇這種擴展名而又不把其他擴展名弄亂一個點( . )?

我使用了很多年:

char *GetExtension (const char *str)                // Extract the extension from the string  (incl '.')
{
    const char *pstr;
    if (!str ||!*str) return((char *)str);

    pstr = str + strlen(str) - 1;
    while ((*pstr != '/') && (*pstr != '\\') && (*pstr != '.') && (pstr > str))
            pstr--;
    if (*pstr != '.') return (0);
    return ((char *)pstr); //includes separator
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM