Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 04. 12. 2011 20:17 — Editoval milwoukee (04. 12. 2011 20:57)

milwoukee
Příspěvky: 158
Reputace:   
 

Praca s binarnym suborom v C

Ahoj chcem sa spytat ako pracovat s binarnym suborom, ako ho prepisovat
(V CODE::BLOCKS - WIN) napr.

void main() {
FILE* file = NULL;
if ((file = fopen("data.txt", "rb"))) {
char value;
while((value = getc(file)) != "0D") {
putchar(value);
}
fclose(file);
}}

v subore data mam dva kratke riadky , je vytvoreny vo Windows 7 , v HexEdite ukazuje ze tam je znak konca riadku 0D 0A .
A islo o to aby mi to binarne nacital a dostal sa po 0D a tym padom skonci vypisovat.
2 problemy:
1.preco neskonci na 0D , co mam v tom zapise zle? nemozem to zapisovat ako string ?
2.vypisuje to tie dva riadky(textovo) a potom donekonecna medzery
-preco nevypisuje binarne?

Dakujem za odpovede

EDIT aha , tak to je v 16tkovej to somsi neuvedomi , ale aj tak ako by som to moihol zapisat ked hladam koniec  riadku?v binarke

Offline

 

#2 04. 12. 2011 21:07 — Editoval cStP (04. 12. 2011 21:15)

cStP
Příspěvky: 39
Reputace:   
Web
 

Re: Praca s binarnym suborom v C

getc vrací integer, takže to zkus porovnat s hodnotou "0D", což je číslo "13"...

while((value = getc(file)) != 13)

EDIT:
pro výstup do terminálu zkus využít funkce printf (knihovna <stdio.h>
printf("%X", value);
Ta ti vypíše hodnoty v hex tvaru. Kdybys chtěl jiný tvar výstupu, doporučuji si přečíst něco o funkci printf a možnostech formátování jejího výstupu (%x není to samé co %X ... atd.)

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson