Kezdőoldal » Számítástechnika » Programozás » Bináris fájl létrehozása (C)?

Bináris fájl létrehozása (C)?

Figyelt kérdés

Elvileg, ha szövegesen írunk valamit fájlba, akkor a karakterek ASCII kódjai kerülnek oda, ha binárisan, akkor pedig bájtokat írunk.

a bináris fájlokat is .txt-be kell írni? vagy mibe?


int x = 65;

FILE* f = fopen("binaris.txt", "wb");

write(&x, sizeof(int), 1, f);

ez a kód egy 'A' betűt ír a fájlba (65 az A ascii kódja), de nem bájtokat kéne így? 65 0 0 0, mert 65 = 65 + 0*256 + 0*65536 + 0*16777216?


2020. aug. 27. 10:44
 1/4 anonim ***** válasza:
64%

1) A C nyelv szabványa csak annyit mond, hogy a char 1 bájt. A többi adattípus méretéről nem rendelkezik.

2) Minden fájl bináris. A program teszi a bináris adatot ember számára értelmezhetővé. Szóval, ha Jegyzettömbben nyitod meg, igen, egy A betűt fogsz látni. Használj HxD-t vagy bármilyen más hex editort.

3) Az fwrite ereje abban rejlik, hogy egy általad megadott memóriaterületet fáljba ír. Szóval több értelme van egy tömbön vagy struct-on kipróbálni, majd fread-del visszaolvasni.

2020. aug. 27. 11:00
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:
köszönöm
2020. aug. 27. 11:06
 3/4 anonim ***** válasza:
64%
Még ott tesz majd különbséget a txt és a bináris fájl között, hogy a TXT fájlban ha talál egy EOF (End of File) karakterig olvas, a bináris fájlnál addig olvas amíg a fájlrendszer adatai szerint tart a fájl (ezt részben a C részben az oprendszer csinálja).
2020. aug. 27. 11:17
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:
64%

A .txt az csak egy kiterjesztés, az írsz bele amit akarsz.

A létrehozott fájlod egy 4 bájt hosszú. Az első byte értéke 65, azaz hexa 41, a többié 0. Ha megnyitod notepaddel, akkor az szöveges fájlként fogja értelmezni és A betűt mutat, mert annak az ASCII kódja 65.

Ha jól értem, azt vártad, hogy ha Notepaddal megnyitod, akkor a "65 0 0 0" szöveget fogod látni. Ennek semmi értelme a fentiek miatt.

2020. aug. 27. 12:06
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!