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

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

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

Студворк — интернет-сервис помощи студентам
Здравствуйте, написал код, но почему-то не рабоатет
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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.01.2013, 19:29
Ответы с готовыми решениями:

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

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

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

5
 Аватар для m1Rr0r
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
09.01.2013, 20:05
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  [ТС]
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
А подскажите как сделать чтобы русские слова нормально писал
0
 Аватар для m1Rr0r
250 / 232 / 46
Регистрация: 05.02.2010
Сообщений: 3,288
22.05.2014, 01:03
Цитата Сообщение от 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
Спасибо большое
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.05.2014, 07:55
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru