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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
CrazyMamba
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 40
#1

Чтение из нескольких файлов - C++

28.03.2010, 23:56. Просмотров 1950. Ответов 6
Метки нет (Все метки)

Доброго времени суток. Подскажите как сделать чтобы программа считывала данные из нескольких текстовых файлов лежащих в 1 деректории. тоесть мне нужно чтобы из указанного пути поочередно считывал несколько файлов. Заранее спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2010, 23:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение из нескольких файлов (C++):

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

Чтение нескольких строк - C++
Подскажите пожалуйста как сделать следующее: дан файл в котором 2 строки. Первую из этих строк записать в str1, вторую в str2. Строки...

Чтение нескольких байт из бинарника - C++
Цель задания: написать программу, использующую сведения о формате файла и выводящую информацию об обрабатываемом файле. Ну вот я...

Чтение свойств нескольких объектов С++ буилдер - C++
Здрасте всем!:) Помогите пожалуйста , только начинаю изучать программирование на С++ , уже неделю пишу свою первую программу :D вообщем...

Компиляция нескольких файлов - C++
Здравствуйте, есть программа состоящая из 4 cpp, необходимо ее собрать, попытался собрать с помощью MinGW(взял тут...

Проект из нескольких файлов - C++
Выдает ошибку: error C3861: test: идентификатор не найден. и warning C4627: #include "test.h": пропущен при поиске использования...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
29.03.2010, 05:29 #2
имена файлов заносятся в массив
и для него делается цикл
который включает открытие, считывание, закрытие
0
CrazyMamba
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 40
29.03.2010, 11:46  [ТС] #3
Да это все просто если знаешь сколько будет файлов имена их. А если файлов штук 100 и я не знаю как они называются а считать их из папки надо.
0
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
29.03.2010, 18:28 #4
В цикле читается список файлов в каталоге.
Найдя имя файла - запускаем обработку файла по имени.

Добавлено через 1 минуту
Пример из Visual Studio 2005

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// crt_find.c
// This program uses the 32-bit _find functions to print
// a list of all files (and their attributes) with a .C extension
// in the current directory.
 
#include <stdio.h>
#include <stdlib.h>
#include <io.h>
#include <time.h>
 
int main( void )
{
   struct _finddata_t c_file;
   intptr_t hFile;
 
   // Find first .c file in current directory 
   if( (hFile = _findfirst( "*.c", &c_file )) == -1L )
      printf( "No *.c files in current directory!\n" );
   else
   {
      printf( "Listing of .c files\n\n" );
      printf( "RDO HID SYS ARC  FILE         DATE %25c SIZE\n", ' ' );
      printf( "--- --- --- ---  ----         ---- %25c ----\n", ' ' );
      do {
         char buffer[30];
         printf( ( c_file.attrib & _A_RDONLY ) ? " Y  " : " N  " );
         printf( ( c_file.attrib & _A_SYSTEM ) ? " Y  " : " N  " );
         printf( ( c_file.attrib & _A_HIDDEN ) ? " Y  " : " N  " );
         printf( ( c_file.attrib & _A_ARCH )   ? " Y  " : " N  " );
         ctime_s( buffer, _countof(buffer), &c_file.time_write );
         printf( " %-12s %.24s  %9ld\n",
            c_file.name, buffer, c_file.size );
      } while( _findnext( hFile, &c_file ) == 0 );
      _findclose( hFile );
   }
}
1
CrazyMamba
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 40
29.03.2010, 20:37  [ТС] #5
Спасибо большое сейчас буду разбиратся
0
yaku
1 / 1 / 0
Регистрация: 30.05.2009
Сообщений: 25
05.07.2011, 18:17 #6
у меня такая же задача стоит, необходимо считывать данные из файлов в директории в которой их минимум 50 шт и обработать содержимое(это уже успел реализовать)
ваш пример подойдет для считывания данных из текстовых файлов или нет? если правильно понял то необходимо изменить критерий поиска с "с" на "txt". и надо ли использовать

C++
1
2
3
4
5
6
7
char buffer[30];
         printf( ( c_file.attrib & _A_RDONLY ) ? " Y  " : " N  " );
         printf( ( c_file.attrib & _A_SYSTEM ) ? " Y  " : " N  " );
         printf( ( c_file.attrib & _A_HIDDEN ) ? " Y  " : " N  " );
         printf( ( c_file.attrib & _A_ARCH )   ? " Y  " : " N  " );
         ctime_s( buffer, _countof(buffer), &c_file.time_write );
         printf( " %-12s %.24s  %9ld\n",
если я точно знаю какие файлы буду обрабатывать?

сразу хотел уточнить в какой части надо вставить алгоритм обработки содержимого каждого файла?
из примера это где-то после
C++
1
while( _findnext( hFile, &c_file ) == 0 );

по идее после считывания содержимого каждого файла хочу записывать в масив данные из каждого, а после обработки последнего вывести результаты в отдельный файл.
если что то еще надо поправить сообщите, я только начинаю вникать..... может кто сталкивался с подобной задачей.
0
yaku
1 / 1 / 0
Регистрация: 30.05.2009
Сообщений: 25
16.07.2011, 03:01 #7
пасиба за пример. разобрался со всем.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.07.2011, 03:01
Привет! Вот еще темы с ответами:

Компиляция нескольких файлов - C++
Создал проект на wxDevC++ таким образом: потом создал три файла в проекте: coordin.h #ifndef COORDIN_H_ #define COORDIN_H_...

Проект из нескольких файлов - C++
Здравствуйте. Решая задачу на нахождение количества связных компонент графа решил вынести алгоритм поиска в ширину в отдельный файл....

Проект из нескольких файлов - C++
Всем привет. Столкнулся с проблемой. Использую codeblocks, совсем тривиальный пример. Есть три файла use.cpp my.cpp my.h. Файл...

Чтение файлов - C++
Имеется файл c большим размером, открытым в булевом режиме чтения. Нужно считать часть этого файла размером 65535 байт, потом снова считать...


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

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

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