Oluşturduğum bazı yapıları bir ikili dosyadan yazmak/okumak zorundayım, ancak onları tekrar okurken bazı kötü hatalar alıyorum. Bu yapı, örneğinDiğer yapıları içeren ikili dosyadan yapıları okuma ve yazma (C)
Al:
typedef struct items
{
char name[21], power[21];
int stock;
double price;
} ITEMS;
typedef struct shop
{
char name[21];
int numOfItems;
ITEMS *arr;
} SHOP;
Ve şimdi, MAĞAZA bir dizi oluşturabilir ve olduğu gibi (her MAĞAZA [i] için, ITEM bir dinamik dizi oluşturma) her şeyi doldurmak, ama ben emin değilim:
fwrite(); aslında tüm dizi, ITEM için doldurulmuş tüm bilgi ile yazıyor ve ben fread() kullandığınızda bazı erişim ihlali hatası verir.
G/Ç için .txt dosyalarının kullanılması dışında, doğru yaklaşım ne olurdu. Yapıyı yazmak istiyorsanız http://pastebin.com/79TtvQ9t
"fwrite(); aslında tüm dizi ITEM için doldurulmuş tüm bilgi ile yazıyor ". Hayır yok - sadece tam işaretçi değerini yazar. Dizi içeriğini ayrı ayrı yazmanız gerekir. – kaylum
Yani doğru bir yaklaşım Bir seferde 1 SHOP + ITEM dizisi yazınız mı? – AleksXPO