HPC.ru lite - Все форумы
Форум: Программирование для КПК
Тема: Запись\Чтание двумерныхх массивов в двоичном файе
[Ответить]
gl0om [14.11.2005 17:24] Запись\Чтание двумерныхх массивов в двоичном файе:
ЕСТЬ КОД
ЗАПИСЬ ФАЙЛА
-------------
stream = fopen("NewLevel.lvl", "wb");
fwrite(&_x,sizeof(int),1,stream);
fwrite(&_y,sizeof(int),1,stream);
fwrite(&_fieldW,sizeof(int),1,stream);
fwrite(&_fieldH,sizeof(int),1,stream);
fwrite(field,sizeof(Tile), _fieldW*_fieldH, stream);
fwrite(items,sizeof(Tile), _fieldW*_fieldH, stream);
fwrite(conditions,sizeof(Tile), _fieldW*_fieldH, stream);
fclose(stream);
-------------
ЧТЕНИЕ ФАЙЛА
-------------
if (stream = fopen("NewLevel.lvl", "rb"))
{
fread (&_x,sizeof(int),1,stream);
fread (&_y,sizeof(int),1,stream);
fread (&_fieldW,sizeof(int),1,stream);
fread (&_fieldH,sizeof(int),1,stream);
fieldW=_fieldW;
fieldH=_fieldH;
fread (field,sizeof(Tile), _fieldW*_fieldH, stream);
fread (items,sizeof(Tile), _fieldW*_fieldH, stream);
fread (conditions,sizeof(Tile), _fieldW*_fieldH, stream);
fclose(stream);
}
--------------------------------------------
И СЛЕДУЮЩИЙ ТРАБЛ С НИМ
В файл записываются int значения без проблем, а вот двумерные массивы только частично-только какието первые строки, сколько первых строк я не знаю, зависимость не уловил. но кол-во меняется в пропорции чем больше fieldН тем больше строк
вобщем массивы целиком не попадают в файл. я открыл этот бинарник и в местах где должны быть сохранены значения массивов записасно 00.
Размер массивов записывается правильно, но значения почемуто корректно не записываютса
в чем дело не пойму...
[Ответить]