Pole struktur v binárním souboru – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Pole struktur v binárním souboru – C / C++ – Fórum – Programujte.comPole struktur v binárním souboru – C / C++ – Fórum – Programujte.com

 

janek
~ Anonymní uživatel
56 příspěvků
13. 3. 2013   #1
-
0
-

mam pole struktur a potrebuju ho nacist do binarniho souboru, ale pri pouziti funkce fwrite() program spadne. Soubor je otevreny v rezimu wb.

#include <iostream>

#include <stdio.h>

#include <stdlib.h>

FILE *f;

typedef struct DATABAZE

{

int cislo;

char nazev_knihy[50];

char autor[50];

};

DATABAZE zeli[5];

/* dejme tomu, ze v promennych pole struktur mam nejaka data, ted to potrebuju zapsat do binarniho souboru */

fwrite(zeli, sizeof(DATABAZE), 1, f);        //program tady spadne, u prvniho parametru kompilator nevyzaduje & (jakto?)

/* druhy pokus */

for(i=0; i<5; i++)

{

fwrite(&zeli[i].cislo, sizeof(zeli[i].cislo), 1, f);          //program tady spadne; u prvniho parametru kompilator vyzaduje &

fwrite(&zeli[i].nazev_knihy, sizeof(zeli[i].nazev_knihy), 1, f);

fwrite(&zeli[i].autor, sizeof(zeli[i].autor), 1, f);

}

v obou pripadech program spadne pri zapisovani pole struktur do souboru, takze asi spatne pouzivam funkci fwrite(), muze mi prosim nekdo poradit, jak to ma byt spravne?

Nahlásit jako SPAM
IP: 85.71.108.–
13. 3. 2013   #2
-
0
-

máš vůbec otevřený soubor pomocí fopen? Co fopen vrátila? Máš ošetřený neúspěch při otevření souboru?

pokud máš např.

int jmeno[10];

pak jmeno je ukazatel na první prvek pole. Proto lze pak napsat

fwrite(jmeno, sizeof(int), 10, fw);

někdy překladač může prskat, že nepřetypuješ na void:

fwrite( (void*)jmeno, sizeof(int), 10, fw);

hu

Nahlásit jako SPAM
IP: 195.178.67.–
janek
~ Anonymní uživatel
56 příspěvků
16. 3. 2013   #3
-
0
-

problem vyresen, mel jsem spatne vytvorenou funkci na otevreni souboru

Nahlásit jako SPAM
IP: 85.71.108.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 38 hostů

Podobná vlákna

Pole struktur — založil Kuba-$

AVR, C a pole struktur — založil DAEW

C Pole Struktur String — založil NotBeginner

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý