Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Опять строки =) / 5 сообщений из 5, страница 1 из 1
29.05.2007, 12:15
    #34557433
Feg16
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять строки =)
Подскажите пожалуйста, как более правильно извлечь из имени файла его расширение в low-регистре

мой вариант

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
char GetExt(char FileName)
{
  char filelen = strlen(FileName);
  char ext[ 3 ] = "";

  for(i=filelen;i<= 1 , i--)
  {
    if (FileName[i] == ".") // equal()?
    {
       ext[ 0 ] = FileName[i+ 1 ];
       ext[ 1 ] = FileName[i+ 2 ];
       ext[ 2 ] = FileName[i+ 3 ];
    }
  }
  return ext;
}

за корявый код беженцев с дельфи на си надеюсь не бьют? :)
...
Рейтинг: 0 / 0
29.05.2007, 12:28
    #34557475
pandrew
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять строки =)
Feg16Подскажите пожалуйста, как более правильно извлечь из имени файла его расширение в low-регистре
AnsiString ext=ExtractFileExt(FileName).LowerCase();
...
Рейтинг: 0 / 0
29.05.2007, 12:32
    #34557496
Feg16
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять строки =)
я пишу на чистом си, без MFC
...
Рейтинг: 0 / 0
29.05.2007, 12:35
    #34557509
blinded
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять строки =)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
static const char* emptyExt = "";
const char* getExt(const char* name)
{
  const char* res;
  for( res = name + strlen(name); res >= name; --res)
    if ((*res) == '.')
      break;
  return (res < name || res = name + strlen(name)) ? emptyExt : res +  1 ;
}
...
Рейтинг: 0 / 0
29.05.2007, 12:39
    #34557538
Feg16
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Опять строки =)
Почти в точку, спасибо
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Опять строки =) / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]