Консультация № 188158
30.10.2015, 00:09
0.00 руб.
0 3 0
Уважаемые эксперты! Пожалуйста, ответьте на вопрос:
У меня есть файлы(количество их большое). Все файлы имеют одинаковые по структуре таблицы, но текст и прочее в файле отличается. Можно ли сделать универсиальный способ извлечения данных из таблиц в этих файлах, а не писать извлечение по каждому файлу отдельно? Если возможно то напишите как это сделать, если это вообще возможно.

Обсуждение

давно
Посетитель
7438
7205
30.10.2015, 02:03
общий
Адресаты:
Честно говоря, непонятно, в чем проблема.
Пишем функцию, одним параметром даем имя файла, вторым - куда писать данные.
Далее, в цикле, получаем имена всех файлов и вызываем нашу функцию...
В чем проблема-то?
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
давно
Посетитель
399110
1
30.10.2015, 06:42
общий
30.10.2015, 06:50
проблема в том, что для извлечения данных из файла нужно устанавливать указатель на то место, откуда нужно извлечь. Но т.к. я написал выше, что во всех файлах хранится разная информация, кроме структуры таблиц(одинаковое количество строк, столбцов, название столбцов и т.д., кроме значений, они в каждой таблице свои), ток указатель ставится на разную позицию. Например в первом файле с помощью функции fseek ставится указатель на 102 элемент, а в другом файле, на 105, в третьем на 103 и т.д.
Пример: извлечение из первого файла
fseek(fd,100,SEEK_SET);
fread(&P,sizeof(long),1,fd);
извлечение из второго файла
fseek(fd,105,SEEK_SET);
fread(&P,sizeof(long),1,fd);
извлечение из третьего
fseek(fd,103,SEEK_SET);
fread(&P,sizeof(long),1,fd);
Для каждого файла указатель задаю вручную, но мне надо сделать, чтобы задавалось как-нибудь автоматически, т.к. указатель почти во всех файлах разный.
давно
Посетитель
7438
7205
30.10.2015, 19:27
общий
Адресаты:
Что мешает создать файлик, в котором задать в каждой строке имя файла и позицию в файле?
Читаем файл и отрабатываем.
Все равно ж надо как-то задать этот указатель! Так, раз описать и пользуйся...

Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Форма ответа