0 / 0 / 0
Регистрация: 20.12.2019
Сообщений: 10
|
||||||
1 | ||||||
Двумерный массив в бинарный файл05.02.2020, 17:43. Показов 6774. Ответов 7
Метки нет Все метки)
(
Как можно осуществить запись двумерного массива в бинарный файл без данного цикла? Помогите пожалуйста
0
|
|
05.02.2020, 17:43 | |
Ответы с готовыми решениями:
7
Записать в бинарный файл массив объектов Student (бинарный файловый ввод/вывод) Сконвертировать текстовый файл в бинарный, переписать только положительные числа в другой бинарный файл Не записывается массив в бинарный файл |
Модератор
![]() ![]() |
||||||
05.02.2020, 17:49 | 2 | |||||
Если есть указатель на начало, а массив занимает смежный участок памяти, то вот так:
2
|
0 / 0 / 0
Регистрация: 20.12.2019
Сообщений: 10
|
|
06.02.2020, 17:09 [ТС] | 3 |
Проблема в том, что он записывает так же и мусор, и при считывании неправильно заполняет массив, что приводит к неправильному результату. Что делать со считыванием?
0
|
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
|
|
06.02.2020, 18:25 | 4 |
0
|
0 / 0 / 0
Регистрация: 20.12.2019
Сообщений: 10
|
|||||||||||
07.02.2020, 09:04 [ТС] | 5 | ||||||||||
Я имела в виду функцию считывания. Хотя да, вполне вероятно что у меня она неправильно написана
Чтение бинарного файла:
0
|
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
|
||||||
07.02.2020, 10:32 | 6 | |||||
![]() Решение
---
Добавлено через 6 минут Почему третий параметр равен 2? Ведь это же число записываемых в файл переменных, а вы записываете только одну переменную - l . Значит, он должен быть равен 1. То, что перед этим была записана переменная k , не имеет никакого значения. Важен только текущий вызов fwrite .А вообще, причина ошибки понятна. Сохранять двумерные массив таким способом - с помощью одного вызова fwrite - можно лишь тогда, когда сохраняется весь массив целиком (все 100x100 элементов). Если же, как в вашем случае, реально используется только часть массива (размером l на k), то тут без цикла никак не обойтись. Не обязательно использовать двойной цикл, хватит и одного:
2
|
0 / 0 / 0
Регистрация: 20.12.2019
Сообщений: 10
|
|
07.02.2020, 15:30 [ТС] | 7 |
Здесь ведь не
k++ , иначе программа просто зациклится. А так - спасибо огромное, теперь все правильно показывает и считывает тоже.
0
|
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
|
|
07.02.2020, 17:14 | 8 |
0
|
07.02.2020, 17:14 | |
Помогаю со студенческими работами здесь
8
Считать файл в бинарный массив Записать массив в бинарный файл Записать массив структур в бинарный файл Как конвертировать бинарный файл в массив? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |