URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4941
[ Назад ]

Исходное сообщение
"анализ имени файла"

Отправлено greenetc , 14-Дек-05 17:16 
Подскажите на примере, как у файла узнать расширение .... и отбросить его , то есть получить чистое имя , без разрешения . Если утрировано, то как из char file[PATH_MAX+1] = "track 01 sample 05.mp3" сделать "track 01 sample 05" и "mp3" ? Приведите пример кода плиз. Заранее всем спасибо.

Содержание

Сообщения в этом обсуждении
"анализ имени файла"
Отправлено enot , 14-Дек-05 18:15 
>Подскажите на примере, как у файла узнать расширение .... и отбросить его
>, то есть получить чистое имя , без разрешения . Если
>утрировано, то как из char file[PATH_MAX+1] = "track 01 sample 05.mp3"
>сделать "track 01 sample 05" и "mp3" ? Приведите пример кода
>плиз. Заранее всем спасибо.

char file[PATH_MAX+1] = "track 01 sample 05.mp3";

char *ptr = strrchr(file, '.');
if (ptr) *ptr = 0;

хм...


"анализ имени файла"
Отправлено chip , 14-Дек-05 18:16 
>Подскажите на примере, как у файла узнать расширение .... и отбросить его
>, то есть получить чистое имя , без разрешения . Если
>утрировано, то как из char file[PATH_MAX+1] = "track 01 sample 05.mp3"
>сделать "track 01 sample 05" и "mp3" ? Приведите пример кода
>плиз. Заранее всем спасибо.

printf("%s\n", strrchar(file, '.'));



"анализ имени файла"
Отправлено ACCA , 15-Дек-05 20:12 
man File::Basename
man basename


"анализ имени файла"
Отправлено dimus , 16-Дек-05 11:00 
>Подскажите на примере, как у файла узнать расширение .... и отбросить его
>, то есть получить чистое имя , без разрешения . Если
>утрировано, то как из char file[PATH_MAX+1] = "track 01 sample 05.mp3"
>сделать "track 01 sample 05" и "mp3" ? Приведите пример кода
>плиз. Заранее всем спасибо.


Хочу добавить к предыдущим постам, что если вы хотите получить именно имя файла, то вам еще вероятно прийдется обрабатывать удаление пути перед именем файла. Вообще, лучше бы все это дело засунуть в автономный модуль или класс. Так как если писать по хорошему, то анализировать прийдется гораздо больше параметров, чем просто последняя точка в строке.