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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 23, средняя оценка - 4.65
LedZeppelin
7 / 7 / 0
Регистрация: 19.04.2011
Сообщений: 68
#1

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

26.04.2011, 15:51. Просмотров 3240. Ответов 11
Метки нет (Все метки)

Здравствуйте. Нужна Ваша помощь в решении следующей задачи. Необходимо получить имена всех файлов находящихся в определенной директории и поместить имя каждого файла в отдельный индекс массива. То есть если в папке два файла к примеру first.txt, second.txt то первый индекс массива должен содержать "first.txt", второй индекс соответственно "second.txt".
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2011, 15:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Получение имен файлов директории в массив (C++):

Поиск файлов в директории - C++
Добрый день. Что прошу: Есть exe, при запуске он должен найти все папки в этой директории и скопировать себя в них. С помощью чего...

Поиск файлов в директории - C++
Привет всем! Я хочу получить все файлы в какой-либо директории, но у меня не работает этот код: finddata_t data; intptr_t res =...

Поиск файлов в директории - C++
Интересно, как можно реализовать вывод всех файлов, которые есть в данной директории? Например, одного формата? Ибо сейчас, при...

Список файлов в директории - C++
Нашёл функцию которая должна вроде бы выводить список файлов в директории. Правильная она или нет честно говоря не знаю. Если...

Получить список файлов в директории - C++
Всем доброго времени суток. Я хочу получить список файлов в директории любым способом, но не залезая в WinAPI. На ум приходит только...

Сосчитать количество файлов в директории - C++
Здравствуйте, совсем недавно начал осваивать C++ Получил задание: "Ввести в консоль директорию и подсчитать файлы в ней и её...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
igorrr37
1646 / 1274 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 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
7 / 7 / 0
Регистрация: 19.04.2011
Сообщений: 68
26.04.2011, 18:20  [ТС] #3
Огромнейшее спасибо , это как раз то что нужно. Все работает, вот только как бы сделать так что бы имена файлов в кирилице отображались корректно ? ( я на этапе освоения языка, по этому для меня все это немного сложновато)
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
26.04.2011, 18:38 #4
LedZeppelin, В свойствах окна консоли меняем шрифт на Lucida Conosle и добавляем в код эти строчки
C
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
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
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,602
26.04.2011, 18:45 #6
asics, да если бы... На сколько знаю, русские имена винда в юникоде пишет, то бишь заморочки с мультибайтными символами...
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
26.04.2011, 18:51 #7
У меня все норм выводит
Миниатюры
Получение имен файлов директории в массив  
LedZeppelin
7 / 7 / 0
Регистрация: 19.04.2011
Сообщений: 68
26.04.2011, 19:00  [ТС] #8
Цитата Сообщение от asics Посмотреть сообщение
У меня все норм выводит
Теперь и у меня нормальное отображение . Спасибо. (просто в папке были файлы изначально крякообразные, по этому сразу не понял что к чему)
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
26.04.2011, 19:03 #9
easybudda, Всмисле ? Так вроде работает...
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,602
26.04.2011, 19:09 #10
Цитата Сообщение от asics Посмотреть сообщение
Так вроде работает.
Ну работает, и хорошо, дальше можно не заморачиваться. Я думал - всё хуже...
LedZeppelin
7 / 7 / 0
Регистрация: 19.04.2011
Сообщений: 68
26.04.2011, 19:10  [ТС] #11
Есть ли другой способ вывода кириллицы в консоль , без изменения шрифта ?
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
26.04.2011, 19:15 #12
LedZeppelin, Русские шрифты в консоли
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2011, 19:15
Привет! Вот еще темы с ответами:

Достать список файлов из директории - C++
Нужно дать пользователю ввести путь к директории. Если такой нет, вывести, что не найдена. Если есть, вывести список всех файлов с...

Проверка наличия файлов в директории - C++
Всем привет. Возникли сложности, помогите, пожалуйста) Необходимо добавить код в приложение, который при запуске проверял бы наличие...

Вывод списка файлов из директории - C++
Доброе время суток. Возникла проблема, мне необходимо осуществить вывод списка файлов из определенной директории(задается пользователем),...

Вылетает программа на с++; считывание файлов из директории - C++
Здравствуйте, уважаемые! Есть большой код, но здесь я приведу кусочек из него, который не хочет работать и почему-то вылетает. Я его...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.04.2011, 19:15
Ответ Создать тему
Опции темы

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