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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
rus_phantom
6 / 6 / 1
Регистрация: 31.03.2011
Сообщений: 69
#1

FindFirstFile&&FindNextFile - C++

03.01.2012, 00:40. Просмотров 937. Ответов 3
Метки нет (Все метки)

Работаю в Visual Studio 2010. Есть такой код:
C++
1
2
3
4
5
6
7
8
9
10
void print_diffs()
{
    WIN32_FIND_DATA fd;
    HANDLE Handle;
    Handle=FindFirstFile(LPCWSTR("C:\\"),&fd);
    while(FindNextFile(Handle,&fd))
    {
        cout <<fd.cFileName<<endl;
    }
}
Он по идее должен вывести имена всех файлов и папок на диске С, однако он ничего не выводит. Почему?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2012, 00:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос FindFirstFile&&FindNextFile (C++):

Ошибка: multiple definition of `void std::swap<A>(A&amp;, A&amp;) - C++
Хочу специализировать swap для своего класса. Получаю ошибку. Вот код:#ifndef A_H #define A_H #include &lt;string&gt; class A { ...

Почему friend ostrem& operator <<(ostream& outs, const Rational&); - invalid function declaration? - C++
Пытаюсь скомпилировать программу пишет friend ostrem&amp; operator &lt;&lt;(ostream&amp; outs, const Rational&amp;); - invalid function declaration. ...

В заштрихованную фигуру бросают точки с координатами x и y. Получить координаты первой точки не попавшей в эту область (фигура x*x+y*y<25&&x*x+y*y>=9& - C++
В заштрихованную фигуру бросают точки с координатами x и y. Получить координаты первой точки не попавшей в эту область (фигура...

ostream &operator<< (ostream &output, const Array &obj) - что означает эта строка? - C++
void Array::getArray() // вывод массива { for (int ix = 0; ix &lt; size; ix++) cout &lt;&lt; setw(5) &lt;&lt; ptr; // вывод элементов...

Порядок вычисления: операторы «|» и «||», «&» и «&&» - C++
В Java булевые операторы «|» и «||», и «&amp;» и «&amp;&amp;» отличаются друг от друга порядком вычеслений, а в C++ так же как и в Java или...

Функция поиска файлов, и вывод списка найденных (использую FindFirstFile, FindNextFile) - C++
Друзья, возникла следующая сложность, написал функцию для поиска файлов(.txt) в текущей директории, название файлов нейзвестно, поэтому, с...

3
Barmaley
10 / 10 / 1
Регистрация: 09.04.2009
Сообщений: 66
03.01.2012, 01:48 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <windows.h>
#include <iostream>
#include <conio.h>
 
void main()
{
    WIN32_FIND_DATA findData;
    HANDLE hFind;
    hFind = FindFirstFile("C:\\*", &findData);
    if (hFind == INVALID_HANDLE_VALUE)
    {
        std::cout << "ERRORE" << std::endl;
        std::cout << GetLastError() << std::endl;
    }
    while(FindNextFile(hFind, &findData))
        {
                std::cout << findData.cFileName << std::endl;
        }
    getch();
}
Configuration Properties -> General поменяйте Character Set с Use Unicode Character Set на Use Multi-Byte Character Set.

И обратите внимание на формат строки советую заглянуть в MSDN FindfirstFile()
0
Диман56
22 / 22 / 0
Регистрация: 07.11.2011
Сообщений: 154
03.01.2012, 06:28 #3
Нет маски поиска. Вот и не ищет. Тоже как-то с этим намучался.
C
1
"C:\\*"
вот как надо. И включите многобайтовую кодировку.
0
-=ЮрА=-
Заблокирован
Автор FAQ
03.01.2012, 10:49 #4
rus_phantom, посмотрите сюда
Поиск файла по шаблону
О рекурсивном поиске я вобще тут ни строки не увидел, чтож найдите в моём коде обработку єтого условия if(pDATA.dwFileAttributes != FILE_ATTRIBUTE_DIRECTORY)

Не по теме:

Цитата Сообщение от Диман56 Посмотреть сообщение
И включите многобайтовую кодировку.
Диман56, зачем её включать???FindFirstFileA - работает с обычными char-ами, своими LPWSTR только жизнь себе усложняете

0
03.01.2012, 10:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.01.2012, 10:49
Привет! Вот еще темы с ответами:

Friend ostream& operator<<(ostream& stream, CArr& obj); - C++
CArr.h #pragma once class CArr{ int* arr = nullptr; int size = 10; void swap(int *a, int *b); void swap(int &amp;a, int &amp;b); ...

Выделение памяти для буффера, под std::istream& operator>>(std::istream &, String &) - C++
Добрый день. Как осуществляется выделения памяти под перегруженный оператор ввода данных в пользовательский тип? Ведь мы заранее не можем...

Как проверить, принадлежит ли символ заданному диапазону m...n, кроме if (c <= n && c >= m) ? - C++
есть какая-нибудь более короткая запись для проверки, принадлежит ли символ заданному диапазону m...n, кроме if (c &lt;= n &amp;&amp; c &gt;= m) ...

В программе объявлена переменная int x=1; определить значение выражения х>0 && x<1 ? 10/x : 10*x - C++
ответ уже известен, 10. Проблема в том что я не знаю каким образом он был получен.. а точнее какую функцию выполняет &quot;:&quot; здесь. просьба...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru