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

Количество записей в файле - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
IamSCORPION
SysOp
 Аватар для IamSCORPION
38 / 37 / 1
Регистрация: 13.04.2009
Сообщений: 275
17.06.2010, 17:24     Количество записей в файле #1
Есть файл Students.txt. В нем:
1) первая запись - число типа long, что означает общее количество записей в файле;
2) после - идут n записей по m байтов.
Как подсчитать количество записей в файле и записать сначала файла это количество?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alexandoros
226 / 64 / 4
Регистрация: 02.06.2009
Сообщений: 280
17.06.2010, 17:31     Количество записей в файле #2
Тяжелый случай... Переставив предложения местами получим более ясную картину

Q: Как подсчитать количество записей в файле и записать сначала файла это количество?
A: первая запись - число типа long, что означает общее количество записей в файле;

Еще вопросы?
IamSCORPION
SysOp
 Аватар для IamSCORPION
38 / 37 / 1
Регистрация: 13.04.2009
Сообщений: 275
17.06.2010, 17:35  [ТС]     Количество записей в файле #3
Цитата Сообщение от Alexandoros Посмотреть сообщение
Тяжелый случай... Переставив предложения местами получим более ясную картину
По заданию сначала должно быть количество записей (число типа long) а потом сами записи(((
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
17.06.2010, 17:38     Количество записей в файле #4
1. открыть файл для чтения
C
1
FILE * f = fopen(FILE_NAME, "rb);
2. переместить указатель в конец файла, получить размер файла
C
1
2
3
4
long len;
fseek(f, 0, SEEK_END);
len = ftell(f);
fclose(f);
3. отнять от длинны файла длинну long и разделить что останется на m
C
1
2
3
long n, m;
m = sizeof(DATA_TYPE);
n = (len - sizeof(long)) / m;
4. открыть файл для записи и вписать туда полученное число
C
1
2
f = fopen(FILE_NAME, "r+b");
fwrite(&n, sizeof(long), 1, f);
А вот чего я не понимаю - если в принципе так не сложно получить количество структур, хранящихся в файле, за чем такие оглобли устраивать? Разве что, если из десяти обращений к файлу девять количество структур в нём проверяют, и только десятое с самими структурами что-то делает...
Mur3ik
102 / 102 / 4
Регистрация: 12.05.2010
Сообщений: 232
17.06.2010, 17:41     Количество записей в файле #5
нужен конкретный пример файла... т.к. могут быть динамические поля, такие как ФИО и под них выделено ровно столько сколько надо...
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
17.06.2010, 17:48     Количество записей в файле #6
Цитата Сообщение от Mur3ik Посмотреть сообщение
могут быть динамические поля
если
Цитата Сообщение от IamSCORPION Посмотреть сообщение
n записей по m байтов.
видимо, нету там "динамических полей"...
Yandex
Объявления
17.06.2010, 17:48     Количество записей в файле
Ответ Создать тему
Опции темы

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