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

Приведите пример,вывод - C++

Восстановить пароль Регистрация
 
vantyz
54 / 54 / 2
Регистрация: 04.03.2012
Сообщений: 495
11.10.2012, 19:31     Приведите пример,вывод #1
Привет,можете пожалуйста привести пример вывода всех файлов txt из папки,и лежащих в этой папке подпапок.

Добавлено через 58 минут
Ну или просто вывод txt из папки.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
 Аватар для Петррр
5914 / 3351 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
11.10.2012, 20:28     Приведите пример,вывод #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
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <windows.h>
 
int walk(const wchar_t *folder)
{
    WIN32_FIND_DATA fd;
    HANDLE hFind = FindFirstFile(folder, &fd);
    if (hFind == INVALID_HANDLE_VALUE)
        return 1;
    while (FindNextFile(hFind, &fd))
        wprintf(L"%s\n", fd.cFileName);
    FindClose(hFind);
    return 0;
}
 
int main(void)
{
    setlocale(LC_ALL, "");
    walk(L"E:\\*.txt");
    system("pause");
}

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <boost/filesystem.hpp>
 
int main()
{
    setlocale(LC_ALL, "");
    boost::filesystem::path path(L"E:\\");
    for(boost::filesystem::directory_iterator dir_iter(path);
        dir_iter != boost::filesystem::directory_iterator();
        ++dir_iter)
        if (boost::filesystem::is_regular_file(dir_iter->status()) &&
            boost::filesystem::extension(dir_iter->path()) == ".txt")
            std::cout << boost::filesystem::basename(dir_iter->path()) << std::endl;
}
vantyz
54 / 54 / 2
Регистрация: 04.03.2012
Сообщений: 495
11.10.2012, 20:31  [ТС]     Приведите пример,вывод #3
А почему два кода,а ясно первый выводит и в подпапках.
Петррр
 Аватар для Петррр
5914 / 3351 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
11.10.2012, 20:42     Приведите пример,вывод #4
Пример с Poco
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
#include <Poco/DirectoryIterator.h>
#include <Poco/Path.h>
 
int main()
{
    Poco::DirectoryIterator dir_end;
    Poco::DirectoryIterator dir_iter(std::string("E:\\"));
    for( ; dir_iter != dir_end; ++dir_iter)
    {
        Poco::Path path(dir_iter->path());
        if (path.getExtension() == "txt")
            std::cout << path.getBaseName() << std::endl;
    }
}
Yandex
Объявления
11.10.2012, 20:42     Приведите пример,вывод
Ответ Создать тему
Опции темы

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