LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    CZ UK PL

> Komentarze :: Poradna Otvorenie súboru

Otvorenie súboru 1.7.2009 09:58
jojo
zdravým. celé dva dni hladám riešenie pre tento problém. otváram súbor pre zápis v binárnej podobe. pokial napíšem
fsave = fopen("nazov suboru", "wb");
tak funguje. lae akonahle chcem spraviť
export double mask_save(double id,char fname) { FILE *fsave; MASK * ukMask = zoznam_mask[(int)id]; int h = ukMask->get_height(); long buff_size=h+4; char buffer[buff_size]; fsave = fopen(fname, "wb"); setbuf(fsave,buffer); if (!fsave) {fclose(fsave); return (-1);} fwrite(h,2,1,fsave); .... }
tak mi kompilator devc++ vzhodí hlášku že nemôže zmeniť dátový typ . akože mi je jasne prečo. ale ako to inač spraviť ? ked som skušal napísať názov priamo fopen("nazov suboru", "wb"); tak mi zase vyhodilo tu hlášku pri fwrite(w,2,1,fsave);
Re: Otvorenie súboru 1.7.2009 14:03
Aleš Hakl

jednak, jmeno souboru je retezec (char*), ne znak(char), tudiz vam to logicky nefunguje.

problem u toho fwrite je principialne uplne stejny, protoze ten int h co se tam snazite zapsat opravdu nedava smysl. Prvni argument fwrite je ukazatel na pole jakychsi struktur, ktere chcete zapsat, takze pokud tam vazne chcete zapsat to h, tak fwrite(&h, sizeof(int), 1, fsave). Pricemz je mozna vhodne si uvedomit, ze vam nikdo negarantuje, ze byte toho intu budou mit vzdy stejny vyznam (napr. budou v pameti ve stejnem poradi) a dokonce ani, ze vzdy budou 4.

Takova poznamka navic je, ze pokud mate problemy tohoto typu, tak opravdu k nicemu nepotrebujete pouzivat setbuf(3) (popravde receno, najit problem, ktery by to mohlo resit a opravdu jej to resi je docela umeni).


KOMENTARZE
Otvorenie súboru 1.7.2009 09:58 jojo
  L Re: Otvorenie súboru 1.7.2009 14:03 Aleš Hakl
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4875x
2. FreeBSD
Download: 9063x
3. PCLinuxOS-2010
Download: 8561x
4. alcolix
Download: 10943x
5. Onebase Linux
Download: 9659x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6240x

1. xinetd
Download: 2411x
2. RDGS
Download: 937x
3. spkg
Download: 4755x
4. LinPacker
Download: 9961x
5. VFU File Manager
Download: 3196x
6. LeftHand Mała Księgowość
Download: 7201x
7. MISU pyFotoResize
Download: 2806x
8. Lefthand CRM
Download: 3561x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 3117x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz