Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Центр помощи > [C++] Чтение массива структур из бинарного файла |
Автор: vladko 7.12.2009, 18:47 | ||||||
Бинарный файл состоит из заголовка:
и массива структур:
читаю заголовок и 1 структуру из массива.
Как прочитать оставшиеся до конца файла структуры и изменить последнюю? |
Автор: t_gran 8.12.2009, 04:40 | ||||||||
А вот с этим проблемка. Придёться переписывать файл, т.к. в Си нет такой возможности заменять данные в файле. По крайней мере ни разу не встречал. Добавить можно, но не изменить.
|
Автор: vladko 8.12.2009, 06:13 |
Спасибо. Может быть на каком-нибудь другом языке программирования возможно изменять файл? |
Автор: Dancer 8.12.2009, 11:36 |
вроде бы можно переместиься в определённое место, и оттуда уже производить запись. разьве нет? peek(), fseek() что-то вроде, c конца, вернулись на sizeof(q) и переписали эту структуру. fseek(stream, -sizeof(q), SEEK_END); fwrite(&new_q, sizeof(q), 1, stream); fclose(stream); |
Автор: mr.Anderson 8.12.2009, 20:57 | ||
|
Автор: t_gran 9.12.2009, 05:05 | ||||
Dancer, перед тем как отвечать я обязательно проверил ваше предположение и к сожалению оно ошибочно. Но если вы предоставите код, который будет выполнять это, я буду рад т.к. это и меня просвятит и в дальнейшем на пользу другим будет. А посему жду код. А то, что я пробовал, вот:
И к моему сожалению получаю
|
Автор: Dancer 9.12.2009, 12:22 | ||
|
Автор: t_gran 10.12.2009, 03:30 |
Dancer, +1. Моей ошибкой был параметр a+b. |