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

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

Восстановить пароль Регистрация
 
Misha_cpp
Заблокирован
18.04.2014, 12:09     Контейнер set. Найти имена всех файлов в папке #1
Здравствуйте . Есть такая задача : найти имена всех файлов в папке . Имена я нахожу нормально , но сохраняю каждое имя в отдельный индекс массива :

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++ Позиция элемента в контейнере STL кон. SET, поиск контейнер set словарь позиция
Контейнер set C++
STL, контейнер set C++
C++ контейнер set
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_script_
169 / 137 / 34
Регистрация: 01.05.2012
Сообщений: 414
18.04.2014, 12:13     Контейнер set. Найти имена всех файлов в папке #2
В set метод insert есть
Ilot
Модератор
Эксперт С++
1767 / 1142 / 223
Регистрация: 16.05.2013
Сообщений: 3,020
Записей в блоге: 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. Найти имена всех файлов в папке
Ответ Создать тему
Опции темы

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