Получение расширения файла в C Как получить расширение файла (например, .tiff) из имени файла в C? Спасибо! Ответ 1 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("...")); Ответ 2 Найдите последнюю точку с помощью strrchr, затем выполните 1 char #include <stdio.h> /* printf */ #include <string.h> /* strrchr */ ext = strrchr(filename, '.'); if (!ext) { /* no extension */ } else { printf("extension is %s\n", ext + 1); } Ответ 3 Вы можете использовать функцию strrchr, которая ищет последнее вхождение символа в строке, чтобы найти конечную точку. Оттуда вы можете прочитать остальную часть строки в качестве расширения.
Ответ 1 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("..."));
Ответ 2 Найдите последнюю точку с помощью strrchr, затем выполните 1 char #include <stdio.h> /* printf */ #include <string.h> /* strrchr */ ext = strrchr(filename, '.'); if (!ext) { /* no extension */ } else { printf("extension is %s\n", ext + 1); }
Ответ 3 Вы можете использовать функцию strrchr, которая ищет последнее вхождение символа в строке, чтобы найти конечную точку. Оттуда вы можете прочитать остальную часть строки в качестве расширения.