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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.96
ne4aJIb
0 / 0 / 0
Регистрация: 04.10.2008
Сообщений: 5
#1

Как к файлам в папке обратиться? - C++

04.10.2008, 13:33. Просмотров 2950. Ответов 15
Метки нет (Все метки)

Всем привет!

Такая проблема у меня. Сначала преамбула. Есть видеокамера, она снимает "неважнокакое"

явление. Она подключена к компьютеру. При остановке работы камеры, она выдает мне

отснятое в виде кадров(рисунков,изображений) в какую-нибудь папку(это можно настроить).

При этом количество файлов мне неизвестно, названия их тоже (там автоматически

генерируются) неизвестны.

Теперь сама амбула. У меня есть программа(на С++), которая складывает(накладывает) два

таких кадра (это надо по работе). Но мне надо сложить все айлы из этой ерслувотой папки.

Так вот есть ли какая-нибудь уже готовая функция(или ещё что-нибудь), которая по

названию(пути) папки, возвращала бы мне все файлы,которые там есть. Чтобы после этого

я мог бы, зная их количество, названия, сложить бы их. (То есть типа массива из файлов

"чтоли")

Есть такое, или хоть что-то похожее?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6477 / 2252 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
04.10.2008, 13:38     Как к файлам в папке обратиться? #2
Нет, готовой функции нет. Руками делай.
Да поможет тебе в форточках FindFirstFile, FindNextFile, а в великих никсах - readdir, например.
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,868
Завершенные тесты: 1
04.10.2008, 13:43     Как к файлам в папке обратиться? #3
можно использовать для сканирования файлов в папке структуру ffblk и функции findfirst и findnext
ne4aJIb
0 / 0 / 0
Регистрация: 04.10.2008
Сообщений: 5
04.10.2008, 13:48  [ТС]     Как к файлам в папке обратиться? #4
А что эта за струтура ffblk? MSDN чо-то не находит.
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,868
Завершенные тесты: 1
04.10.2008, 13:49     Как к файлам в папке обратиться? #5
она описана в структуре dir.h
Vourhey
Почетный модератор
6477 / 2252 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
04.10.2008, 13:55     Как к файлам в папке обратиться? #6
Код
#include <stdio.h>
#include <dir.h>

void main(void)
{
   struct ffblk ffblk;int goout;
  goout = findfirst(**.**,&ffblk,0);
   while (!goout)  {
     printf("%s\n", ffblk.ff_name);
     goout = findnext(&ffblk);
   }
}
Но лучше, конечно, виндовые... dir.h в MSDN не должно, наверное, быть. dir.h вроде детище дяди Бори...
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,868
Завершенные тесты: 1
04.10.2008, 13:56     Как к файлам в папке обратиться? #7
Vourhey, эх... не даешь подрастающему поколению повода самому разобраться)))) скоро их совсем разбалуем...
Vourhey
Почетный модератор
6477 / 2252 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
04.10.2008, 13:58     Как к файлам в папке обратиться? #8
WooDooMan, я ее без компилера писал надеюсь, там где-нить ошибка. Да, виноват, бывает...
ne4aJIb
0 / 0 / 0
Регистрация: 04.10.2008
Сообщений: 5
04.10.2008, 14:34  [ТС]     Как к файлам в папке обратиться? #9
Цитата Сообщение от Vourhey Посмотреть сообщение
Код
#include <stdio.h>
#include <dir.h>

void main(void)
{
   struct ffblk ffblk;int goout;
  goout = findfirst(**.**,&ffblk,0);
   while (!goout)  {
     printf("%s\n", ffblk.ff_name);
     goout = findnext(&ffblk);
   }
}
То есть в goout находится необходимый файлик?
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,868
Завершенные тесты: 1
04.10.2008, 14:37     Как к файлам в папке обратиться? #10
нет, описание файла будет записано в структуру, в goout результат поиска, а еще там есть такая очень важная особенность, последний файл функция findnext находит два раза, после чего поиск останавливается...
ne4aJIb
0 / 0 / 0
Регистрация: 04.10.2008
Сообщений: 5
04.10.2008, 14:55  [ТС]     Как к файлам в папке обратиться? #11
Кажется,начал понимать.

Посмотрел в инете описание этой структуры, там есть такая графа как название файла.То есть я могу. указав эту графу, открыть файл, поколдовать над ним?

И ещё вопрос, мне, по идее, надо по два файла обрабатывать.(Хотя лучше всего сразу все). Мне для этого вторую структуру надо создать? Или можно, примерно так

Код
int goout1;
int goout2;

goout1 = findnext(&ffblk);
goout2 = findnext(&ffblk);
Или как надо?
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,868
Завершенные тесты: 1
04.10.2008, 14:58     Как к файлам в папке обратиться? #12
ну вообще int никогда не был структурой, это тип данных, и если бы ты читал мой прошлый пост, то знал, что в него пишется результат поиска, а не структура, и зачем тебе две структуры, тебе надо массив строк или там структур, смотря какие данные интересуют, а их взять можно из структуры ffblk... а куда ты их сохранишь не суть важно... просто отсканируй папку и сохрани нужные тебе данные...
Vourhey
Почетный модератор
6477 / 2252 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
04.10.2008, 15:01     Как к файлам в папке обратиться? #13
Циклы и возвращаемые значения, видимо, для чего-то другого создавали...
ne4aJIb
0 / 0 / 0
Регистрация: 04.10.2008
Сообщений: 5
04.10.2008, 15:01  [ТС]     Как к файлам в папке обратиться? #14
Все понял! Пошел прогать, надеюсь получится!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2008, 15:06     Как к файлам в папке обратиться?
Еще ссылки по теме:
Как обратиться к массиву буквой? C++
Не знаю как обратиться к переменной C++
C++ Как обратиться к члену класса
Как обратиться к лексемы в строке? C++
Как обратиться к методу объекта? C++

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

Или воспользуйтесь поиском по форуму:
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,868
Завершенные тесты: 1
04.10.2008, 15:06     Как к файлам в папке обратиться? #15
Vourhey, неужели в си циклы появились... ))))
Yandex
Объявления
04.10.2008, 15:06     Как к файлам в папке обратиться?
Ответ Создать тему
Опции темы

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