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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Misha_cpp
Заблокирован
#1

Контейнер set. Найти имена всех файлов в папке - C++

18.04.2014, 12:09. Просмотров 263. Ответов 3
Метки нет (Все метки)

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

C++
1
2
3
4
5
6
7
8
9
10
11
12
WIN32_FIND_DATA FindFileData, FindFileData2;
    HANDLE hf1=FindFirstFile(L"C:\\dir\\*", &FindFileData);
    WCHAR fileNames[200][MAX_PATH];
    INT i=0;
    cout<<"dir1:"<<endl;
    if (hf1==INVALID_HANDLE_VALUE){puts("Path not found"); return 1;}
        do{
            wcscpy(fileNames[i], FindFileData.cFileName);
            _putws(fileNames[i]);
            ++i;
        }
        while (FindNextFile(hf1,&FindFileData));
Как мне их сохранить при помощи контейнера set? никогда ещё не работал с ним , а вот сейчас понадобилось . Помогите, пожалуйста , как это сделать ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.04.2014, 12:09     Контейнер set. Найти имена всех файлов в папке
Посмотрите здесь:

Контейнер set C++
C++ Контейнер для файлов
Контейнер set C++
C++ STL контейнер set, вставка элементов
STL, контейнер set C++
Массив типа set (контейнер) C++
C++ контейнер set
Ввод данных в контейнер set C++
Как можно сделать цикл проверки всех файлов в одной папке C++
C++ Поиск всех файлов в папке и вывод их имен
Используя STL контейнер set заполнить массив C++
C++ Вывести список всех файлов из указанной директории, имена которых содержат русские буквы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_script_
169 / 137 / 34
Регистрация: 01.05.2012
Сообщений: 414
18.04.2014, 12:13     Контейнер set. Найти имена всех файлов в папке #2
В set метод insert есть
Ilot
Модератор
Эксперт С++
1780 / 1155 / 223
Регистрация: 16.05.2013
Сообщений: 3,042
Записей в блоге: 5
Завершенные тесты: 1
18.04.2014, 12:15     Контейнер set. Найти имена всех файлов в папке #3
set<WCHAR>.insert(FindFileData.cFileName);
Misha_cpp
Заблокирован
18.04.2014, 17:10  [ТС]     Контейнер set. Найти имена всех файлов в папке #4
Спасибо. Я пишу вот так:

C++
1
2
3
4
5
 do{
           
            set<WCHAR>.insert(FindFileData.cFileName);
        }
        while (FindNextFile(hf1,&FindFileData));
но выдаёт ошибку rror C2143: syntax error : missing ';' before '.'

что-то не так написал?

Добавлено через 19 минут
ещё так писал:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
set <WCHAR> f1;  //объявили
int main(){
 
    WIN32_FIND_DATA FindFileData, FindFileData2;
    HANDLE hf1=FindFirstFile(L"C:\\dir\\*", &FindFileData);
    WCHAR fileNames[200][MAX_PATH];
    INT i=0;
    cout<<"dir1:"<<endl;
    if (hf1==INVALID_HANDLE_VALUE){puts("Path not found"); return 1;}
        do{
            f1.insert(FindFileData.cFileName);
           }
        while (FindNextFile(hf1,&FindFileData));
        FindClose(hf1);

выдаёт ошибку : cannot convert parameter 1 from 'WCHAR [260]' to 'const wchar_t &'
Yandex
Объявления
18.04.2014, 17:10     Контейнер set. Найти имена всех файлов в папке
Ответ Создать тему
Опции темы

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