B
BattleMage
Как структуру, у которой 5 полей типа char [20] записать в бинарный файл. Точнее записал, но вот не считывается...
Структура объявлена так:
struct kniga
{
char nazvanie[20];
char avtor[20];
char zhanr[20];
char izdatelstvo[20];
char god_izdaniya[20];
};
struct kniga *ptr;
Вот так записал:
FILE *db;
db=fopen("DataBase.xxx","wb");
fwrite((char*)&(*ptr),sizeof(*ptr),1,db);
fclose(db);
Вот так считываю. То что считал хочу записать в ячейки StringGrid-a:
db=fopen("DataBase.xxx","rb");
fread((char*)&ptr,sizeof(ptr),1,db);
while (fgetc(db)!=EOF)
{
StringGrid1->Cells[0][StringGrid1->RowCount]=IntToStr(StringGrid1->RowCount);
StringGrid1->Cells[1][StringGrid1->RowCount]=ptr->nazvanie;
StringGrid1->Cells[2][StringGrid1->RowCount]=ptr->avtor;
StringGrid1->Cells[3][StringGrid1->RowCount]=ptr->zhanr;
StringGrid1->Cells[4][StringGrid1->RowCount]=ptr->izdatelstvo;
StringGrid1->Cells[5][StringGrid1->RowCount]=ptr->god_izdaniya;
StringGrid1->RowCount++;
}
fclose(db);
Что я не так делаю? Либо записываю, либо читаю, либо и то и то![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
Структура объявлена так:
struct kniga
{
char nazvanie[20];
char avtor[20];
char zhanr[20];
char izdatelstvo[20];
char god_izdaniya[20];
};
struct kniga *ptr;
Вот так записал:
FILE *db;
db=fopen("DataBase.xxx","wb");
fwrite((char*)&(*ptr),sizeof(*ptr),1,db);
fclose(db);
Вот так считываю. То что считал хочу записать в ячейки StringGrid-a:
db=fopen("DataBase.xxx","rb");
fread((char*)&ptr,sizeof(ptr),1,db);
while (fgetc(db)!=EOF)
{
StringGrid1->Cells[0][StringGrid1->RowCount]=IntToStr(StringGrid1->RowCount);
StringGrid1->Cells[1][StringGrid1->RowCount]=ptr->nazvanie;
StringGrid1->Cells[2][StringGrid1->RowCount]=ptr->avtor;
StringGrid1->Cells[3][StringGrid1->RowCount]=ptr->zhanr;
StringGrid1->Cells[4][StringGrid1->RowCount]=ptr->izdatelstvo;
StringGrid1->Cells[5][StringGrid1->RowCount]=ptr->god_izdaniya;
StringGrid1->RowCount++;
}
fclose(db);
Что я не так делаю? Либо записываю, либо читаю, либо и то и то
![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)