Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Roulen
9 / 1 / 3
Регистрация: 15.06.2016
Сообщений: 224
1

Получить список файлов каталога в txt файл

21.04.2018, 15:56. Просмотров 1091. Ответов 13
Метки нет (Все метки)

Есть код:
C++
1
2
3
4
5
6
7
8
9
10
11
WIN32_FIND_DATA FindFileData;
    HANDLE hf;
    hf = FindFirstFile(L"C:\\*", &FindFileData);
    if (hf != INVALID_HANDLE_VALUE)
    {
        do
        {
            wcout << FindFileData.cFileName << endl;
        } while (FindNextFile(hf, &FindFileData) != 0);
        FindClose(hf);
    }
Данный код выведет список файлов по директории C:\\
Как мне записать эти пути в txt файл или CLI -> textBox

Если писать в файл, то предпочтительно использовать fstream.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2018, 15:56
Ответы с готовыми решениями:

Переписать все числа из файлов 1.txt и 2.txt в файл 3.txt
Здравствуйте! Нужна помощь. Есть два текстовых файла 1.txt и 2.txt в них есть числа....

Написать программу, которая обеспечивает:начальное формирование каталога файлов;вывод каталога файлов;удаление файлов...
Уважаемые хакеры!Прошу вашей помощи!Я в СИ не особо шарю.((( А на днях уже сдавать.Очень...

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

Записать 200 случайных чисел в файл a.txt. В файл b.txt вывести четные, а в файл c.txt нечетные
Записать 200 случайных чисел в файл a.txt. В файл b.txt вывести четные, а в файл c.txt нечетные.

Запись путей файлов в *.txt файл.
Здравствуйте. Возник вопросик. С помощью чего можно организовать такое действие программы! ...

13
QuakerRUS
553 / 483 / 231
Регистрация: 30.10.2017
Сообщений: 1,520
Завершенные тесты: 4
21.04.2018, 16:01 2
1. Откройте файл.
2. Вместо wcout используйте имя объекта ofstream.
3. Закройте файл.
0
Roulen
9 / 1 / 3
Регистрация: 15.06.2016
Сообщений: 224
21.04.2018, 16:03  [ТС] 3
Цитата Сообщение от QuakerRUS Посмотреть сообщение
1. Откройте файл.
2. Вместо wcout используйте имя объекта ofstream.
3. Закройте файл.
Хотел дописать, но не успел. Проблема в том, что в случае простой записи оно запишет адреса, но не текст.
0
QuakerRUS
553 / 483 / 231
Регистрация: 30.10.2017
Сообщений: 1,520
Завершенные тесты: 4
21.04.2018, 16:11 4
У меня на VS2017 работает.

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
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <Windows.h>
 
using namespace std;
 
int main()
{
    WIN32_FIND_DATA FindFileData;
    HANDLE hf;
    hf = FindFirstFile((LPCSTR)"C:\\*", &FindFileData);
    ofstream fout("output.txt");
    if (hf != INVALID_HANDLE_VALUE)
    {
        do
        {
            fout << FindFileData.cFileName << endl;
        } while (FindNextFile(hf, &FindFileData) != 0);
        FindClose(hf);
    }
 
    fout.close();
 
    system("pause");
    return 0;
}
1
21.04.2018, 16:11
Roulen
9 / 1 / 3
Регистрация: 15.06.2016
Сообщений: 224
21.04.2018, 16:19  [ТС] 5
Тоже VS17 - не работает, так-же
Цитата Сообщение от QuakerRUS Посмотреть сообщение
hf = FindFirstFile((LPCSTR)"C:\\*", &FindFileData);
ругает (LPCSTR)
0
QuakerRUS
553 / 483 / 231
Регистрация: 30.10.2017
Сообщений: 1,520
Завершенные тесты: 4
21.04.2018, 16:21 6
Roulen, Windows.h подключен?
1
Roulen
9 / 1 / 3
Регистрация: 15.06.2016
Сообщений: 224
21.04.2018, 16:25  [ТС] 7
Подключен

Добавлено через 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
30
#include <fstream>
#include <filesystem>
#include <iostream>
#include <stdio.h>
#include <Windows.h>
#include <cstdlib>
#include <string.h>
 
using namespace std;
 
 
int main()
{
    WIN32_FIND_DATA FindFileData;
    HANDLE hf;
    hf = FindFirstFile(L"C:\\*", &FindFileData);
    ofstream fout("output.txt");
    if (hf != INVALID_HANDLE_VALUE)
    {
        do
        {
            fout << FindFileData.cFileName << endl;
        } while (FindNextFile(hf, &FindFileData) != 0);
        FindClose(hf);
    }
 
    fout.close();
 
    system("pause");
}
0
QuakerRUS
553 / 483 / 231
Регистрация: 30.10.2017
Сообщений: 1,520
Завершенные тесты: 4
21.04.2018, 16:30 8
stdafx.h используете?
1
Roulen
9 / 1 / 3
Регистрация: 15.06.2016
Сообщений: 224
21.04.2018, 16:40  [ТС] 9
нет, как его подключить в пустой проект?

Добавлено через 5 минут
C ним та-же беда - адреса.
0
QuakerRUS
553 / 483 / 231
Регистрация: 30.10.2017
Сообщений: 1,520
Завершенные тесты: 4
21.04.2018, 16:41 10
Roulen, не нужно. У вас с свойствах проекта скорее всего используется Юникод. Переключите на многобайтовую кодировку или вместо ofstream используйте wofstream, а вместо (LPCSTR) используйте L.
1
Roulen
9 / 1 / 3
Регистрация: 15.06.2016
Сообщений: 224
21.04.2018, 16:52  [ТС] 11
попробую, отпишусь, огромное вам спасибо

Добавлено через 2 минуты
что-то не могу найти как сменить кодировку

Добавлено через 1 минуту
на wofstream вам не сложно будет этот код скинуть? пока не могу понять его работу, нужно больше времени.
0
QuakerRUS
553 / 483 / 231
Регистрация: 30.10.2017
Сообщений: 1,520
Завершенные тесты: 4
21.04.2018, 16:52 12
Можно кстати (LPCSTR) вообще не писать, так как строка изначально имеет этот тип (const char *).
0
QuakerRUS
553 / 483 / 231
Регистрация: 30.10.2017
Сообщений: 1,520
Завершенные тесты: 4
21.04.2018, 16:56 13
Лучший ответ Сообщение было отмечено Roulen как решение

Решение

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
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <Windows.h>
 
using namespace std;
 
int main()
{
    WIN32_FIND_DATA FindFileData;
    HANDLE hf;
    hf = FindFirstFile(L"C:\\*", &FindFileData);
    wofstream fout("output.txt");
    if (hf != INVALID_HANDLE_VALUE)
    {
        do
        {
            fout << FindFileData.cFileName << endl;
        } while (FindNextFile(hf, &FindFileData) != 0);
        FindClose(hf);
    }
 
    fout.close();
 
    system("pause");
    return 0;
}
Или как во вложении.
0
Миниатюры
Получить список файлов каталога в txt файл  
Roulen
9 / 1 / 3
Регистрация: 15.06.2016
Сообщений: 224
21.04.2018, 17:13  [ТС] 14
Большое спасибо!)
0
21.04.2018, 17:13
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2018, 17:13

Сгенерировать список паролей и записать их в TXT файл
Добрый день! Необходимо сгенерировать список паролей и записать их в txt файл. Необходимо...

Разделить файл txt на несколько равных маленьких файлов
Пожалуйста помогите. Есть большой txt там 1335478 символов Как сделать чтоб он создал папку а в...

Получить список файлов в каталоге
Здравствуйте! Мне нужно получить список файлов в каталоге, чтобы потом как-то работать с этими...


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

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

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