在C中获取文件扩展名

如何从C中的文件名中获取文件扩展名(如.tiff )?

谢谢!

 const char *get_filename_ext(const char *filename) { const char *dot = strrchr(filename, '.'); if(!dot || dot == filename) return ""; return dot + 1; } printf("%s\n", get_filename_ext("test.tiff")); printf("%s\n", get_filename_ext("test.blah.tiff")); printf("%s\n", get_filename_ext("test.")); printf("%s\n", get_filename_ext("test")); printf("%s\n", get_filename_ext("...")); 

strrchr找到最后一个点,然后前进1个字符

 #include  /* printf */ #include  /* strrchr */ ext = strrchr(filename, '.'); if (!ext) { /* no extension */ } else { printf("extension is %s\n", ext + 1); } 

您可以使用strrchr函数搜索字符串中最后一个字符,以查找最终的点。 从那里,您可以读取字符串的其余部分作为扩展名。