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

Поиск самого длинного пути расположения файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Распечатать в порядке убывания нечетные числа http://www.cyberforum.ru/cpp-beginners/thread873313.html
Распечатать в порядке убывания нечётные числа из диапазона (5..90) , кратные 3 и не кратные 5 одновременно
C++ дружественный тестовый класс В функции «main», сначала должна запускаться интегральная функция тестирования (статическая функция«bool testAutomatic()» тестового класса), а затем процедура интерактивного тестирования(статическая функция«bool testInteractive()» тестового класса). Как они будут выглядеть??? Как их записать?? http://www.cyberforum.ru/cpp-beginners/thread873307.html
C++ Упорядочить массив (Закомментировать)
помогите Закомментировать пожалуйста) #include <iostream> #include <conio.h> #include <clocale> using namespace std; int main() { setlocale (LC_ALL, "Russian"); int a,b,t,n; int *arr;
Представить комплексное число А + Bi (А, В — вещественные) в тригонометрическом виде C++
Представить комплексное число А + Bi (А, В — вещественные) в тригонометрическом виде.
C++ базисные циклы на графе http://www.cyberforum.ru/cpp-beginners/thread873284.html
Нужно реализовать алгоритм нахождение базисных циклов на графе Люди добрые, помогите
C++ Именование новых объектов Доброго времени суток. Это, вероятно, простой вопрос, но в лабах и учебниках пока ответа на него не встретил. Допустим, я создаю класс, с неизвестным заранее количеством объектов, и мне нужна возможность, чтобы пользователь в консольном приложении мог добавлять новые объекты. До сих пор, во всех примерах что я видел, новый объект создается и именуется в коде программы, ну, то есть примерно... подробнее

Показать сообщение отдельно
Kenny95
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 15

Поиск самого длинного пути расположения файла - C++

21.05.2013, 18:33. Просмотров 355. Ответов 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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
 
 
void PrintFileLocations(char const*StartDir, char const*FileName);
 
int main(int argc, char *argv[])
{
    char fname[256]="1.txt", dirname[256]="C:\\test";
    PrintFileLocations(dirname, fname);
    system("PAUSE");
    return EXIT_SUCCESS;
}
 
void PrintFileLocations(char const*StartDir, char const*FileName)
{
    DIR    *dp = opendir (StartDir);// StartDir это тоже самое что и dirname,
                                    // а DIR    *dp = opendir (StartDir) значит открыть папку StartDir
    
    
    
// Граничное условие: если StartDir это не папка,
// то нет в ней файлов с именем FileName
    if (dp == NULL)
    {
        return ;
    }
    else
    {
        struct dirent *ep;
        while (ep = readdir (dp))
        {
            if( strcmp(ep->d_name, "." ) ==0 || strcmp(ep->d_name, ".." ) ==0)
                continue;
        // Проверяем каждый элемент из папки и , если его имя
        // совпало с FileName - выводим путь и увеличиваем счётчик
            if(strcmp(FileName, ep->d_name)==0)
            {
                printf("%s\\%s\n", StartDir, ep->d_name);
            }
        // Рекурсивно ищем, предполагая, что данный элемент является папкой
            char *newDir=(char*)
                malloc(sizeof(char)*(strlen(StartDir)+strlen(ep->d_name)+2));
            strcpy(newDir, StartDir);
            strcat(newDir, "\\");
            strcat(newDir, ep->d_name);
            PrintFileLocations(newDir, FileName);
            free(newDir);
        }
        closedir (dp);
    }
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru