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

Получение имен файлов директории в массив - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.65
LedZeppelin
 Аватар для LedZeppelin
7 / 7 / 0
Регистрация: 19.04.2011
Сообщений: 68
26.04.2011, 15:51     Получение имен файлов директории в массив #1
Здравствуйте. Нужна Ваша помощь в решении следующей задачи. Необходимо получить имена всех файлов находящихся в определенной директории и поместить имя каждого файла в отдельный индекс массива. То есть если в папке два файла к примеру first.txt, second.txt то первый индекс массива должен содержать "first.txt", второй индекс соответственно "second.txt".
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2011, 15:51     Получение имен файлов директории в массив
Посмотрите здесь:

Вывод списка файлов и папок директории C++
C++ список файлов в директории
Поиск файлов в директории C++
Вывод списка файлов из директории C++
Проверка наличия файлов в директории C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
26.04.2011, 16:46     Получение имен файлов директории в массив #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<windows.h>
#include<stdio.h>
#include<string.h>
 
int main(){
    WIN32_FIND_DATA FindFileData;
    HANDLE hf=FindFirstFile("c:\\*", &FindFileData);
    CHAR fileNames[200][MAX_PATH];
    INT i=0;
    if (hf==INVALID_HANDLE_VALUE){puts("Path not found"); return 1;}
        do{
            strcpy(fileNames[i], FindFileData.cFileName);
            puts(fileNames[i]);
            ++i;
        }
        while (FindNextFile(hf,&FindFileData));
        FindClose(hf);
    return 0;
}
LedZeppelin
 Аватар для LedZeppelin
7 / 7 / 0
Регистрация: 19.04.2011
Сообщений: 68
26.04.2011, 18:20  [ТС]     Получение имен файлов директории в массив #3
Огромнейшее спасибо , это как раз то что нужно. Все работает, вот только как бы сделать так что бы имена файлов в кирилице отображались корректно ? ( я на этапе освоения языка, по этому для меня все это немного сложновато)
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
26.04.2011, 18:38     Получение имен файлов директории в массив #4
LedZeppelin, В свойствах окна консоли меняем шрифт на Lucida Conosle и добавляем в код эти строчки
C
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
LedZeppelin
 Аватар для LedZeppelin
7 / 7 / 0
Регистрация: 19.04.2011
Сообщений: 68
26.04.2011, 18:43  [ТС]     Получение имен файлов директории в массив #5
Цитата Сообщение от asics Посмотреть сообщение
LedZeppelin, В свойствах окна консоли меняем шрифт на Lucida Conosle и добавляем в код эти строчки
C
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
Спасибо, но все дело в том что я буду выводить данные не в консоль а в файл. Как сделать корректный вывод кирилицы в файл ?
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
26.04.2011, 18:45     Получение имен файлов директории в массив #6
asics, да если бы... На сколько знаю, русские имена винда в юникоде пишет, то бишь заморочки с мультибайтными символами...
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
26.04.2011, 18:51     Получение имен файлов директории в массив #7
У меня все норм выводит
Миниатюры
Получение имен файлов директории в массив  
LedZeppelin
 Аватар для LedZeppelin
7 / 7 / 0
Регистрация: 19.04.2011
Сообщений: 68
26.04.2011, 19:00  [ТС]     Получение имен файлов директории в массив #8
Цитата Сообщение от asics Посмотреть сообщение
У меня все норм выводит
Теперь и у меня нормальное отображение . Спасибо. (просто в папке были файлы изначально крякообразные, по этому сразу не понял что к чему)
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
26.04.2011, 19:03     Получение имен файлов директории в массив #9
easybudda, Всмисле ? Так вроде работает...
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
26.04.2011, 19:09     Получение имен файлов директории в массив #10
Цитата Сообщение от asics Посмотреть сообщение
Так вроде работает.
Ну работает, и хорошо, дальше можно не заморачиваться. Я думал - всё хуже...
LedZeppelin
 Аватар для LedZeppelin
7 / 7 / 0
Регистрация: 19.04.2011
Сообщений: 68
26.04.2011, 19:10  [ТС]     Получение имен файлов директории в массив #11
Есть ли другой способ вывода кириллицы в консоль , без изменения шрифта ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2011, 19:15     Получение имен файлов директории в массив
Еще ссылки по теме:

C++ Как считать имена файлов из директории?
C++ Поиск всех файлов в папке и вывод их имен
C++ Вывод списка файлов из выбранной директории

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

Или воспользуйтесь поиском по форуму:
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
26.04.2011, 19:15     Получение имен файлов директории в массив #12
LedZeppelin, Русские шрифты в консоли
Yandex
Объявления
26.04.2011, 19:15     Получение имен файлов директории в массив
Ответ Создать тему
Опции темы

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