Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
1

Вывод всех файлов в заданной директории

09.01.2013, 19:29. Показов 2665. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, написал код, но почему-то не рабоатет
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
#include<stdio.h>
#include<windows.h>
#include<string>
#include <windows.h>
#include <tchar.h>
#include<conio.h>
using namespace std;
void main(int argc, TCHAR *argv[])
{
    WIN32_FIND_DATA data;
    HANDLE h;
    do 
    {
        h = FindFirstFile(L"C:\\",&data);
        if(h == INVALID_HANDLE_VALUE) return;
        //if(string(data.cFileName) != ".." && data.cFileName != "")
        cout << data.cFileName << endl;
    } while (FindNextFile(h,&data));
 
    FindClose(h);
    getch();
}
if(h == INVALID_HANDLE_VALUE) return; //всегда выполняется это условие. пробовал писать и C:\, но все равно вылетает. В чем проблема?

Добавлено через 3 часа 51 минуту
Подниму
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.01.2013, 19:29
Ответы с готовыми решениями:

Вывод в связный список всех файлов/папок в определенной директории
Доброго времени. Есть вот такой код: #include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include...

Вывод всех файлов и поддиректорий в заданной директории (добавить в код ввод директории)
.586p .model flat, stdcall std_output_handle equ -11 std_input_handle equ -10 extern...

Обход заданной директории и вывод всех её файлов и папок в файл-отчет
Написать функцию, которая делает обход заданной директории и выводит все её файлы и папки и...

Получить список всех файлов в заданной директории
помогите, плз. Каким способом можна выгрести все файлы (dbf, xls и т. д.) в заданной директории...

5
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
09.01.2013, 20:05 2
GetLastError() == 87

Добавлено через 21 секунду
87: Параметр задан неверно.

Добавлено через 11 минут
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
#include<iostream>
#include<stdio.h>
#include<windows.h>
#include<string>
#include <windows.h>
#include <tchar.h>
#include<conio.h>
using namespace std;
void main(int argc, TCHAR *argv[])
{
    WIN32_FIND_DATA *data = new WIN32_FIND_DATA;
    HANDLE h;
    LPCTSTR path = "C:\\*";
    h = FindFirstFile(path, data);
    do 
    {
        
        //cout << GetLastError();
        if(h == INVALID_HANDLE_VALUE) return;
        
        //if(string(data.cFileName) != ".." && data.cFileName != "")
        cout << data->cFileName << endl;
    } while (FindNextFileA(h, data));
 
    delete data;
    FindClose(h);
    getch();
}
Добавлено через 14 минут
Цитата Сообщение от BuGi Посмотреть сообщение
h = FindFirstFile(L"C:\\",&data);
Вызываешь один раз.
1
25 / 25 / 11
Регистрация: 02.01.2012
Сообщений: 371
10.01.2013, 01:23  [ТС] 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
#include<stdio.h>
#include<windows.h>
#include<string>
#include <windows.h>
#include <tchar.h>
#include<conio.h>
using namespace std;
void main(int argc, TCHAR *argv[])
{
    setlocale(LC_ALL,"rus");
    WIN32_FIND_DATA data;
    HANDLE h = FindFirstFile(L"C:\\*",&data);
    do 
    {
        if(h == INVALID_HANDLE_VALUE) return;
        //if(string(data.cFileName) != ".." && data.cFileName != "")
        cout << data.cFileName << endl;
    } while (FindNextFile(h,&data));
 
    FindClose(h);
    _getch();
}
В консоле вижу адреса, если заменю на printf("%s\n",&data.cFileName); то выводятся только первые символы, в чем проблема?

Добавлено через 1 час 25 минут
Нашел ошибку, надо было юзать при выводе std::wcout
1
0 / 0 / 0
Регистрация: 03.10.2013
Сообщений: 23
21.05.2014, 17:34 4
А подскажите как сделать чтобы русские слова нормально писал
0
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
22.05.2014, 01:03 5
Цитата Сообщение от Nastya3003 Посмотреть сообщение
А подскажите как сделать чтобы русские слова нормально писал
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 <conio.h>
#include <locale>
 
int main(int argc, char *argv[])
{
    setlocale(LC_ALL, "Russian");
    WIN32_FIND_DATA data;
    HANDLE h = FindFirstFile("D:\\*.*", &data);
    if(h == INVALID_HANDLE_VALUE)
        return -1;
    do 
    {
        printf("%s\n", data.cFileName);
    } while (FindNextFile(h, &data));
 
    FindClose(h);
    _getch();
    return 0;
}
1
0 / 0 / 0
Регистрация: 03.10.2013
Сообщений: 23
22.05.2014, 07:55 6
Спасибо большое
0
22.05.2014, 07:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.05.2014, 07:55
Помогаю со студенческими работами здесь

Список всех файлов и папок указанной директории по заданной маске
Здравствуйте! Требуется написать программу, используя FileNameFilter которая выведет на экран...

DirectoryInfo поиск всех файлов в заданной директории, включая воложенные папки
Здравствуйте, подскажите как изменить мой код, чтобы DirectoryInfo искал не только в той папке путь...

Аналог ls (вывод списка папок и файлов в заданной директории)
как сделать, чтобы программа выводила список папок и файлов в заданной директории?

Написать bat-файл, осуществляющий удаление всех файлов из директории, заданной параметром
Создать несколько директорий. В каждой из них создать несколько файлов. Написать bat-файл,...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru