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

Рекурсивный поиск файла. Падаю - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сравнение чисел http://www.cyberforum.ru/cpp-beginners/thread1061269.html
Привет всем!Люди помогите написать программ,которая сравнивает три числа и выдает наибольшее и наименьшее из них.Задача из книги Дейтелов. Всем заранее спасибо)
C++ Вычислить сумму элементов матрицы, расположенных на главной диагонали и выше нее Дано задание: Дана действительная квадратная матрица порядка 7. Вычислить сумму тех её элементов, расположенных на главной диагонали и выше нее, которые превосходят по величине все элементы,... http://www.cyberforum.ru/cpp-beginners/thread1061257.html
C++ Дана строка символов. Распечатать ее в обратном порядке, сохранив лишь порядок следования цифр
помогите плиз решить задачу по с++. 9. Дана строка символов. Распечатать ее в обратном порядке, сохранив лишь порядок следования цифр (например, ‘asdf %e456tyh’ должна быть выведена как ‘hyt456e%...
C++ В заданной матрице найти суммы элементов, удовлетворяющих условию
Дана действительная квадратная матрица порядка . Рассмотрим те элементы, которые расположены в строках, начинающихся с отрицательного элемента. Найти суммы тех из них, которые расположены...
C++ Нужно написать задачи по с++ http://www.cyberforum.ru/cpp-beginners/thread1061251.html
1. Дано натуральное число n . Выяснить, сколько положительных элементов содержит матрица i,j=1,...,n , если: Aij=sin(i+(j/2)) ; одна тема - одна задача. читайте правила форума
C++ Двумерный динамический массив - найти ошибку в коде #include <iostream> #include <conio.h> using namespace std; class Matrix { private: int lenght; int width; int** matrix; подробнее

Показать сообщение отдельно
TamaGOch
9 / 9 / 0
Регистрация: 11.12.2012
Сообщений: 152

Рекурсивный поиск файла. Падаю - C++

31.12.2013, 21:24. Просмотров 537. Ответов 2
Метки (Все метки)

используя различные примеры из интернета, написал функцию, которая ищет файл и возвращает путь к этому файлу (без имени самого файла, т.е. путь к директории)
собственно вот
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
std::wstring FindFile (std::wstring Directory, std::wstring FileName)
{
    HANDLE hFind;
    WIN32_FIND_DATA FileData; 
    hFind = FindFirstFile((Directory + L"\\*").c_str(), &FileData);
    if (hFind != INVALID_HANDLE_VALUE) //Если директория не пуста
    {
        do
        {
            if (FileData.dwFileAttributes == 16 || FileData.dwFileAttributes == 17) //Если нашли папку
            {
                if (FileData.cFileName [0] != '.')
                {
                    std::wstring res = FindFile (Directory + L"\\" + std::wstring (FileData.cFileName), FileName);
                    if (res != L"") return res;
                } 
            }
            else //Если нашли файл
            {
                if (std::wstring (FileData.cFileName) == FileName) //Сравниваем с требуемым именем файла
                {
                    return Directory;
                }
            }
        }
        while (FindNextFile (hFind, &FileData) == true); //Пока не просмотрели все папки и файлы в директории
        return (L"");
    }
}
вызываю функцию к примеру так
C++
1
std::wstring Dir = FindFile (L"D:", L"I'm here.txt");
при этом ища по всему диску D (не системном), где приличное количество всего, отрабатывает как должно, возвращает пустую строку в случае отсутствия и путь в случае существования

немного иная ситуация с парсингом по системному диску C
C++
1
std::wstring Dir = FindFile (L"C:", L"I'm here.txt");
не знаю, как устроен диск у вас, у меня к примеру идут подряд две такие папки, на диске C в подпапке Program Files,
Microsoft SQL Server
Microsoft SQL Server Compact Edition
операционная система Windows 7 с припиской, не помню какой, хоум вроде как

так вот, если кину файл в первую папку, найдёт, если во вторую то в режиме Debug падает с таким сообщением (скриншот), а в режиме Release отрабатывает, но возвращает пустую строку, хотя файлы есть

подозрений немного, но все не в тему. Единственное, что имеет право на существование - это, возможно, проблема с правами и доступом, но характер ошибки вылетающий смущает. Заранее благодарю
0
Миниатюры
Рекурсивный поиск файла. Падаю  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru