Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.04.2010, 18:01   #1
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию Вывод не нужного при поиске файлов

Поиск файлов по маске

Код:
void TFunction::SearchFile()
{
    WIN32_FIND_DATAA FindFile;
    HANDLE hFile;

    printf("\n");

    if ( GetCurrentDirectoryA(sizeof(szPath), szPath) )
    {
        lstrcat(szPath, "./Catalog/\\*.*");
        hFile = FindFirstFileA(szPath, &FindFile);

        int kFile = 0;

        if (hFile != INVALID_HANDLE_VALUE)
        {
            do
            {
                kFile++; printf("[%2d] - %s\n", kFile, FindFile.cFileName);
            }
            while (FindNextFile(hFile, &FindFile) != 0);

            FindClose(hFile);
        }
    }
}
Код:
void main(void)
{
    system("Cls");

    Menu->Interface();
    printf("\n");
    Func->SearchFile(); 
    printf("\n");

    system("Pause");
}
Откуда взялись эти точки 1-го и 2-го файла ?

Скриншот:
coNsept вне форума Ответить с цитированием
Старый 28.04.2010, 18:11   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

. это текущий каталог
.. это каталог выше.
обычно они первые два.
отсеивайте по имени.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.04.2010, 18:19   #3
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

Оно так и должно быть, почитайте про файловые системы. В линуксах аналогично( если в пустой папке закастовать ):
$ ls -a
.
..
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux
ozo вне форума Ответить с цитированием
Старый 28.04.2010, 18:33   #4
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

Хм, а как отсеять, можно на примере пожалуйста, спасибо за ранее.

Цитата:
Оно так и должно быть, почитайте про файловые системы. В линуксах аналогично( если в пустой папке закастовать ):
$ ls -a
.
..
- Мне нужно это убрать и отображать только чисто файлы

Последний раз редактировалось coNsept; 28.04.2010 в 18:35.
coNsept вне форума Ответить с цитированием
Старый 28.04.2010, 18:49   #5
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

может просто добавить одну простую проверку ?
Код:
do{
   kFile++;
   if( kFile > 2 ) 
     printf("[%2d] - %s\n", kFile, FindFile.cFileName);
}while (FindNextFile(hFile, &FindFile) != 0);
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux
ozo вне форума Ответить с цитированием
Старый 28.04.2010, 19:11   #6
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

Уже сделал, но всё равно спасибо.
- Я по началу не понял, и изворачивался с условием на с.к. '.', мол если встречаем, пропускаем и выводим файлы. (тупыца я)
Спасибо ещё раз ребята.
coNsept вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
I/O error 123 при поиске файлов [MoNAMur] Общие вопросы Delphi 2 19.01.2010 15:15
ошибка при поиске текста в файле с настройками _Mickey_ Помощь студентам 0 29.12.2009 22:11
Учетность регистра при поиске данных Proxx-asb Общие вопросы Delphi 4 28.05.2009 13:12
действие при выборе нужного <option> badfilin JavaScript, Ajax 2 16.04.2008 23:59
при поиске по базе выдает ошибку - Пропущен оператор в выражении frai БД в Delphi 1 09.11.2007 23:01