我正在尝试创建一个可以获取文件扩展名的方法。 我找到了多种替代品,这个是我的解决方案:
const char *getExt(const char *filename) {
const char *ext = strrchr(filename, '.');
if(!ext || ext == filename){
return "No Extension";
}else{
return ext + 1;
}
}
现在,问题在于扩展程序.tar.gz
。
我如何选择这种类型的扩展名而不会仅使用一个点(.
)来破坏其他所有扩展名?
答案 0 :(得分:0)
我使用多年:
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
}