Форум программистов, компьютерный форум CyberForum.ru

Поиск файла и его путь - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Обнулить дерево (treeview), каким способом это сделать ? http://www.cyberforum.ru/cpp-beginners/thread449416.html
Сделал tabcontrol и в одной из вкладок у меня дерево (treeview), как мне сделать что бы дерево обнулялась при смене вкладок ? private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { panel1.Visible = false; if (e.Node.Name == "Node0") { panel1.Visible = true; UserControl1 ctrl = new...
C++ Матрицы помогите решить эти задачи, пожалуйста! http://www.cyberforum.ru/cpp-beginners/thread449415.html
Три числа C++
Среди трех чисел (а = 7/5 * ch (x); b = 1 + | x |; c = (1 + x) / x) найти два максимальных, вывести их произведение и расположить в порядке возрастания. Помогите пожалуйста
C++ Стандартные и пользовательские функции языка С
Помогите пожалуйста написать программы на чистом Си в одном проекте. 1) Для нагрева 300 л. воды от 10 oС до 100 oС необходимо сжечь 150 кг сосновых дров. Определить удельную теплоемкость сгорания дров, если удельная теплоемкость воды составляет 3750 Дж / кг • oС. 2) Даны три действительных числа X, Y, Z. Найти их сумму, произведение и среднее геометрическое значение их модулей. 3) Дано...
C++ [c++] строки [dll] http://www.cyberforum.ru/cpp-beginners/thread449405.html
Сразу говорю у меня dll FILE *fp = fopen("command.ini", "r"); if (NULL == fp) { g_Engine.Con_Printf( "\n\n\n\t\t\t\t%s\n", g_szHackER ); } while (!feof(fp)) {
C++ Кому не сложно, помогите с C++ 7/3 Из элементов массива P сформировать мас¬сив Q того же размера по правилу: элементы с номе¬ром i с 3-го по 10-й находятся по формуле Qi= -Рi,, все остальные - по формуле Qi = Рi*i. 8/4 Дана квадратная таблица a. Переставить местами строки 1 и 2, 3 и 4 и т.д. Если n нечетно, то последняя строка остается на месте. 9/4 Дан двумерный массив размерностью 5 х... подробнее

Показать сообщение отдельно
aank10
1 / 1 / 0
Регистрация: 14.12.2010
Сообщений: 121

Поиск файла и его путь - C++

20.02.2012, 13:10. Просмотров 415. Ответов 1
Метки (Все метки)

Вот код поиска файла как вытащить из этого кода путь к файлу
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
typedef void (*LPSEARCHFUNC)(LPCTSTR lpszFileName);
 
BOOL SearchFiles(LPCTSTR lpszFileName, LPSEARCHFUNC lpSearchFunc, BOOL bInnerFolders = TRUE)
{
    LPTSTR part;
    char tmp[MAX_PATH]; // временный массив
    char name[MAX_PATH];
 
    HANDLE hSearch = NULL;
    WIN32_FIND_DATA wfd;
    memset(&wfd, 0, sizeof(WIN32_FIND_DATA));
 
    // сначало поиск внутри вложенных папках ...
    if(bInnerFolders)
    {
        if(GetFullPathName(lpszFileName, MAX_PATH, tmp, &part) == 0) return FALSE;
        strcpy(name, part);
        strcpy(part, "*.*");
 
        // если папки существуют, то делаем поиск
        wfd.dwFileAttributes = FILE_ATTRIBUTE_DIRECTORY;
        if (!((hSearch = FindFirstFile(tmp, &wfd)) == INVALID_HANDLE_VALUE))
        do
        {
            // в каждой папке есть две папки с именами "." и ".."
            // и эти папки мы не трогаем
 
            // пропускаем папки "." и ".."
            if (!strncmp(wfd.cFileName, ".", 1) || !strncmp(wfd.cFileName, "..", 2))            
            continue;
        
            if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) // если мы нашли папку
            {
                char next[MAX_PATH];
                if(GetFullPathName(lpszFileName, MAX_PATH, next, &part) == 0) return FALSE;
                strcpy(part, wfd.cFileName);
                strcat(next, "\\");
                strcat(next, name);
 
                SearchFiles(next, lpSearchFunc, TRUE);
            }
        }
        while (FindNextFile(hSearch, &wfd)); // ищем следующий файл
 
        FindClose (hSearch); // заканчиваем поиск
    }
 
    if ((hSearch = FindFirstFile(lpszFileName, &wfd)) == INVALID_HANDLE_VALUE) 
        return TRUE; // в противном случае выходим
    do
    if (!(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) // если мы нашли файл
    {
        char file[MAX_PATH];
        if(GetFullPathName(lpszFileName, MAX_PATH, file, &part) == 0) return FALSE;
        strcpy(part, wfd.cFileName);
 
        lpSearchFunc(file);
    }
    while (FindNextFile(hSearch, &wfd)); // ищем следующий файл
    FindClose (hSearch); // заканчиваем поиск
 
    return TRUE;
}
Сам поиск файла
C++
1
SearchFiles("C:\Dir1\*.txt", DoSomething, TRUE);
Как вписать путь хотя бы в Label1->Caption
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru