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

Запись путей файлов в *.txt файл. - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.60
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
04.10.2011, 12:31     Запись путей файлов в *.txt файл. #1
Здравствуйте.

Возник вопросик.

С помощью чего можно организовать такое действие программы!

Исполняемый файл программы (*.ехе) мы кидаем в любую папку, после запуска (*.ехе) в текстовый файл (*.txt) должны быть сохранены все пути к файлам в данной папке.

Если в папке где лежит (*.ехе) существуют еще папки и в них другие файлы то путь к ним тоже должен быть занесен в *.txt.

Например:

*.ехе помещен в папку setup

в *.txt должно быть сохранено:

C++
1
2
3
4
5
6
7
8
9
d:\setup\Half_Life_Setup.exe
d:\setup\PES2012\icon.ico
d:\setup\PES2012\setup.exe
d:\setup\PES2012\setup-1.dat
d:\setup\PES2012\setup-2.dat
d:\setup\PES2012\setup-3.dat
d:\setup\PES2012\setup-4.dat
d:\setup\PES2012\redist\vcredist_x86.exe 
d:\setup\PES2012\redist\directX\dxwebsetup.exe
Как видите сохранены все пути к файлам данной папки даже если в ней есть и другие папки с другими файлами.

В какую сторону копать??
Какие алгоритмы рассматривать??

*.txt файл создаю так

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "fstream"
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    ofstream out;
 
    out.open("test.txt");//открываем / создаем test.txt
 
 
 
    out.close(); //закрываем test.txt
    return 0;
}

Спасибо!!!)
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
05.10.2011, 10:51     Запись путей файлов в *.txt файл. #21
Маленькая коррекция ещё нужна. nFiles не учитывает файлов в подпапках.
Т.е. nFiles += GetFileList(sDIR, f, bSaveDirs); нужно.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
05.10.2011, 12:00  [ТС]     Запись путей файлов в *.txt файл. #22
Все спасибо, все просто шикарно работает!))

Ну еще вопросик!!

Каким способом сделать чтобы пути к файлам выводило не посредственно с самой папки!!!

то есть, не так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
d:\Видео\Фильмы\FilePath.exe
d:\Видео\Фильмы\Forsaj5.2011.D.TS.KINOPARK.KIKTEAM.avi
d:\Видео\Фильмы\ja_chetvertiy_[tfile.ru].mkv
d:\Видео\Фильмы\Nerealnyj.blokbaster.2008.HDRip.avi
d:\Видео\Фильмы\punkt_naznachenija_pjat`_[tfile.ru].avi
d:\Видео\Фильмы\tree.txt
d:\Видео\Фильмы\Vanishing.on.7th.street.2010.D.HDRip.avi
d:\Видео\Фильмы\Жизнь за один день.2009.DVDRip.avi
d:\Видео\Фильмы\Неуправляемый.2010.DVDRip.avi
d:\Видео\Фильмы\просмотреть!))\1.avi
d:\Видео\Фильмы\просмотреть!))\2.avi
d:\Видео\Фильмы\просмотреть!))\3.avi
d:\Видео\Фильмы\просмотреть!))\4.avi
d:\Видео\Фильмы\просмотреть!))\5.avi
d:\Видео\Фильмы\просмотреть!))\6.avi
d:\Видео\Фильмы\Секс по дружбе.2011.DVDRip.avi

не начиная с диска D.

а имеенно с той папки в которой находиться программка!!


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Фильмы\FilePath.exe
Фильмы\Forsaj5.2011.D.TS.KINOPARK.KIKTEAM.avi
Фильмы\ja_chetvertiy_[tfile.ru].mkv
Фильмы\Nerealnyj.blokbaster.2008.HDRip.avi
Фильмы\punkt_naznachenija_pjat`_[tfile.ru].avi
Фильмы\tree.txt
Фильмы\Vanishing.on.7th.street.2010.D.HDRip.avi
Фильмы\Жизнь за один день.2009.DVDRip.avi
Фильмы\Неуправляемый.2010.DVDRip.avi
Фильмы\просмотреть!))\1.avi
Фильмы\просмотреть!))\2.avi
Фильмы\просмотреть!))\3.avi
Фильмы\просмотреть!))\4.avi
Фильмы\просмотреть!))\5.avi
Фильмы\просмотреть!))\6.avi
Фильмы\Секс по дружбе.2011.DVDRip.avi
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
05.10.2011, 12:12     Запись путей файлов в *.txt файл. #23
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
int offset = strlen(folderName);
offset++; //Учитываем слэш
 
// для каждого пути
char * filePath ...;
cout << filPath+offset;
Добавлено через 1 минуту

Не по теме:

Фильмы\просмотреть!))\1.avi
Фильмы\просмотреть!))\2.avi
Фильмы\просмотреть!))\3.avi
Фильмы\просмотреть!))\4.avi
Фильмы\просмотреть!))\5.avi
Фильмы\просмотреть!))\6.avi
Что-то мне подсказывает, что это порно. Надо ж было так тебе спалиться.)

Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
05.10.2011, 12:28  [ТС]     Запись путей файлов в *.txt файл. #24
Цитата Сообщение от Deviaphan Посмотреть сообщение
Добавлено через 1 минуту
Не по теме:
Фильмы\просмотреть!))\1.avi
Фильмы\просмотреть!))\2.avi
Фильмы\просмотреть!))\3.avi
Фильмы\просмотреть!))\4.avi
Фильмы\просмотреть!))\5.avi
Фильмы\просмотреть!))\6.avi
Что-то мне подсказывает, что это порно. Надо ж было так тебе спалиться.)

Не по теме:

Порно у меня в отдельной папке))) Увы пока я не спалился!)

Deviaphan
05.10.2011, 12:31
  #25

Не по теме:

Не в "фильмах"? В папке "Для души"?

Infinity3000
 Аватар для Infinity3000
1057 / 576 / 24
Регистрация: 03.12.2009
Сообщений: 1,255
05.10.2011, 12:34  [ТС]     Запись путей файлов в *.txt файл. #26
Цитата Сообщение от Deviaphan Посмотреть сообщение
Не по теме:
Не в "фильмах"? В папке "Для души"?

Не по теме:

Типа того!!))



Вот вся папка "видео"!!

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
d:\Видео\FilePath.exe
d:\Видео\tree.txt
d:\Видео\монтаж\VIDEO_TS\VIDEO_TS.BUP
d:\Видео\монтаж\VIDEO_TS\VIDEO_TS.IFO
d:\Видео\монтаж\VIDEO_TS\VIDEO_TS.VOB
d:\Видео\монтаж\VIDEO_TS\VTS_01_0.BUP
d:\Видео\монтаж\VIDEO_TS\VTS_01_0.IFO
d:\Видео\монтаж\VIDEO_TS\VTS_01_1.VOB
d:\Видео\монтаж\VIDEO_TS\VTS_01_2.VOB
d:\Видео\монтаж\VIDEO_TS\VTS_02_0.BUP
d:\Видео\монтаж\VIDEO_TS\VTS_02_0.IFO
d:\Видео\монтаж\VIDEO_TS\VTS_02_1.VOB
d:\Видео\монтаж\VIDEO_TS\VTS_02_2.VOB
d:\Видео\монтаж\VIDEO_TS\VTS_03_0.BUP
d:\Видео\монтаж\VIDEO_TS\VTS_03_0.IFO
d:\Видео\монтаж\VIDEO_TS\VTS_03_1.VOB
d:\Видео\монтаж\VIDEO_TS\VTS_04_0.BUP
d:\Видео\монтаж\VIDEO_TS\VTS_04_0.IFO
d:\Видео\монтаж\VIDEO_TS\VTS_04_1.VOB
d:\Видео\монтаж\VIDEO_TS\VTS_05_0.BUP
d:\Видео\монтаж\VIDEO_TS\VTS_05_0.IFO
d:\Видео\монтаж\VIDEO_TS\VTS_05_1.VOB
d:\Видео\монтаж\VIDEO_TS\VTS_06_0.BUP
d:\Видео\монтаж\VIDEO_TS\VTS_06_0.IFO
d:\Видео\монтаж\VIDEO_TS\VTS_06_1.VOB
d:\Видео\монтаж\Деньги и отношение к ним.avi
d:\Видео\Порно\000.avi
d:\Видео\Порно\02.wmv
d:\Видео\Порно\03.wmv
d:\Видео\Порно\04.wmv
d:\Видео\Порно\1 (9).avi
d:\Видео\Порно\1.avi
d:\Видео\Порно\2.avi
d:\Видео\Порно\37492.wmv
d:\Видео\Порно\40245.wmv
d:\Видео\Порно\41868.wmv
d:\Видео\Порно\41907.wmv
d:\Видео\Порно\43_frise.avi
d:\Видео\Порно\Adriana_Deville_Man_away_anal_day.wmv
d:\Видео\Порно\All StarПорно!.avi
d:\Видео\Порно\Ashley.avi
d:\Видео\Порно\bald beavers.mpg
d:\Видео\Порно\barbara.AVI
d:\Видео\Порно\Chudaki.2010.Dc.UNRATED.DVDRip.avi
d:\Видео\Порно\chunk_1.AVI
d:\Видео\Порно\chunk_2.AVI
d:\Видео\Порно\chunk_3.AVI
d:\Видео\Порно\Comedy.Club.(30.vipusk.).2011.XviD.SATRip.Kinozal.TV.avi
d:\Видео\Порно\CreamInTeen_An.wmv
d:\Видео\Порно\Extreme Obsession.avi
d:\Видео\Порно\FreaksOfCock - Lisa Ann.wmv
d:\Видео\Порно\in_the_magic_park.avi
d:\Видео\Порно\Russian Swingers 13 Порно.wmv
d:\Видео\Порно\Silvia Saint.avi
d:\Видео\Приколы\0481b099e2.flv
d:\Видео\Приколы\21a69fb369.flv
d:\Видео\Приколы\36bcebf52a.240.mp4
d:\Видео\Приколы\4e0ddc6e29c0.mp3
d:\Видео\Приколы\655135.flv
d:\Видео\Приколы\ac9f17b2d042.mp3
d:\Видео\Приколы\afa0d30ba3ce.mp3
d:\Видео\Приколы\d7e19f71bc80-48177852.vk.flv
d:\Видео\Приколы\dba7db55ac9a-121501437.vk.flv
d:\Видео\Приколы\f6cd0045b51b.mp3
d:\Видео\Приколы\YouTube - Гадзилла - Шура Каретный.flv
d:\Видео\Приколы\YouTube - Матрица погрузка - Шура Каретный.vk (1).flv.flv
d:\Видео\Приколы\YouTube - Шура Каретный - Буратино.flv
d:\Видео\Приколы\YouTube - Шура Каретный - Преступление и наказание.flv
d:\Видео\Приколы\YouTube - Шура Каретный Армагедец 1.flv
d:\Видео\Разное\+100500\+100500 - Дирижабль, Ага!.avi
d:\Видео\Разное\+100500\+100500 - Кандибобер.avi
d:\Видео\Разное\+100500\+100500 эпизод 11.avi
d:\Видео\Разное\+100500\+100500 Эпизод 12 - Кудесник.avi
d:\Видео\Разное\+100500\+100500 эпизод 6.avi
d:\Видео\Разное\+100500\+100500 Эпизод №8.avi
d:\Видео\Разное\+100500\+100500 Это разборка питерская.avi
d:\Видео\Разное\+100500\+100500..!выпуск 19.как соблазнить парня.avi
d:\Видео\Разное\+100500\+100500.avi
d:\Видео\Разное\+100500\100500 - Пожалели.mp4
d:\Видео\Разное\+100500\100500 - Спайдермен.mp4
d:\Видео\Разное\+100500\100500 - Это Круто.mp4
d:\Видео\Разное\+100500\100500 - Это Круто1.mp4
d:\Видео\Разное\Проза жизни.3gp
d:\Видео\Фильмы\Forsaj5.2011.D.TS.KINOPARK.KIKTEAM.avi
d:\Видео\Фильмы\ja_chetvertiy_[tfile.ru].mkv
d:\Видео\Фильмы\Nerealnyj.blokbaster.2008.HDRip.avi
d:\Видео\Фильмы\punkt_naznachenija_pjat`_[tfile.ru].avi
d:\Видео\Фильмы\Vanishing.on.7th.street.2010.D.HDRip.avi
d:\Видео\Фильмы\Жизнь за один день.2009.DVDRip.avi
d:\Видео\Фильмы\Неуправляемый.2010.DVDRip.avi
d:\Видео\Фильмы\просмотреть!))\1.avi
d:\Видео\Фильмы\просмотреть!))\2.avi
d:\Видео\Фильмы\просмотреть!))\3.avi
d:\Видео\Фильмы\просмотреть!))\4.avi
d:\Видео\Фильмы\просмотреть!))\5.avi
d:\Видео\Фильмы\просмотреть!))\6.avi
d:\Видео\Фильмы\Робин Гуд.(Rashirennaya.versiya).2010.HDRip.avi
d:\Видео\Фильмы\Секс по дружбе.2011.DVDRip.avi
Как видите порно в отдельной папке!! все красиво!!
Deviaphan
05.10.2011, 12:46
  #27

Не по теме:

Камеди Клаб в порно.))) А я даже соглашусь.)))

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2011, 13:17     Запись путей файлов в *.txt файл.
Еще ссылки по теме:

Запись данных в файл txt C++
Как записывать в txt-файл определенные строки из xml-файлов? C++
Разделить файл txt на несколько равных маленьких файлов C++

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

Или воспользуйтесь поиском по форуму:
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
05.10.2011, 13:17     Запись путей файлов в *.txt файл. #28
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
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <fstream>
#include <iostream>
#include <algorithm>
#include <stdexcept>
#include <boost/filesystem/v3/path.hpp>
#include <boost/filesystem/v3/operations.hpp>
 
namespace fs3 = boost::filesystem3;
 
void entry_path(const fs3::path& p, std::ofstream& out) 
{
    std::for_each(fs3::directory_iterator(p)
                  , fs3::directory_iterator()
                  , [&](const fs3::directory_entry& d)
    {
       if (fs3::is_directory(d.path()))
       {
           out << std::endl;
           out << d.path().string() << '\n';
           entry_path(d.path(), out);
       }
       if (fs3::is_regular_file(d.path()))
           out << d.path().string() << '\n';
    });
}
 
int main()
{
    try 
    {
        std::ofstream ofs("output.txt");
        if (ofs.is_open() == false)
            throw std::runtime_error("Cannot create file\n");
        entry_path(fs3::current_path(), ofs);       
    
    } 
    catch(const std::exception& e)
    {
        std::cout << "Exception: " << e.what();
    }
    
    return 0;
}
Yandex
Объявления
05.10.2011, 13:17     Запись путей файлов в *.txt файл.
Ответ Создать тему
Опции темы

Текущее время: 21:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru