>> HOPARL脰R: Bu g眉n蓹 q蓹d蓹r ola bil蓹r proqramlar谋 蓹n 莽ox
bir az efemer olmu艧dur.
Siz Mario v蓹 ya Greedy kimi bir proqram run.
Bu, b蓹lk蓹 ister, bir 艧ey yoxdur B蓹zi m蓹lumatlara 眉莽眉n istifad蓹莽i,
ekran b蓹zi 莽谋x谋艧 莽ap, lakin sonra proqram 眉z蓹rind蓹 zaman
he莽 bir d蓹lil h蓹qiq蓹t蓹n var Bu ilk n枚vb蓹d蓹 run edilmi艧dir.
M蓹n 蓹min蓹m, siz yazmay谋blar bil蓹r, dem蓹k Bu, terminal p蓹nc蓹r蓹 a莽maq
Siz ekran sil 蓹g蓹r var m枚vcud h蓹qiq蓹t蓹n, he莽 bir d蓹lil.
Biz saxlan谋lmas谋 vasit蓹si yoxdur davaml谋 informasiya, informasiya
ki, sonra m枚vcud Proqram 莽al谋艧an dayand谋rd谋,
v蓹 ya biz bu n枚qt蓹y蓹 q蓹d蓹r yoxdur.
Xo艧b蓹xtlikd蓹n, baxmayaraq ki, c yoxdur qabiliyy蓹ti il蓹 bizi t蓹min
h蓹yata bunu deyil蓹n bir 艧ey
bir fayl, bir qurulu艧 ki, 蓹sas蓹n Siz ikiqat ki, bir fayl t蓹msil
Siz de臒ilseniz, bilgisayar谋n谋zda bas谋n qrafik istifad蓹莽i m眉hitind蓹 眉莽眉n istifad蓹 olunur.
脺mumiyy蓹tl蓹 i艧 zaman c, biz, h蓹qiq蓹t蓹n ist蓹yirik
il蓹 i艧 olacaq g枚st蓹ricil蓹rin蓹 fayl fayllar 眉莽眉n stars--
bir az istisna olmaqla, biz bir ne莽蓹 haqq谋nda dan谋艧maq zaman
funksiyalar谋 ki, fayl g枚st蓹ricil蓹r il蓹 i艧l蓹m蓹k.
Siz, h蓹qiq蓹t蓹n, qaz谋lm谋艧 var ehtiyac yoxdur anlay谋艧谋 g枚st蓹ricil蓹r daxil 莽ox d蓹rin
枚zl蓹ri.
Bir az ufac谋k bit var biz onlar haqq谋nda dan谋艧maq olacaq,
lakin 眉mumiyy蓹tl蓹 g枚st蓹ricil蓹rin蓹 fayl v蓹 g枚st蓹ricil蓹r, qar艧谋l谋ql谋 is蓹,
eyni 艧ey deyil.
>> 陌ndi zaman n蓹 dem蓹kdir M蓹n davaml谋 data dem蓹k?
Israrl谋 data n蓹dir?
Biz bu bar蓹d蓹 n蓹 qay臒谋 yoxdur?
Ki, m蓹s蓹l蓹n, deyirl蓹r Bir proqram yay谋nl谋yorsan谋z
v蓹 ya yenid蓹n etdik bir oyun proqram,
v蓹 takip etm蓹k ist蓹yir蓹m istifad蓹莽i hamle b眉t眉n
bel蓹 bir 艧ey yanl谋艧 gedir ki, b蓹lk蓹, Siz oyun sonra fayl inceleyebilirsiniz.
Ki, zaman biz dem蓹k n蓹 var Davaml谋 m蓹lumatlar haqq谋nda dan谋艧maq.
>> 脟al谋艧an zaman谋 sizin Proqram bir fayl yarad谋lm谋艧d谋r.
V蓹 proqram 莽al谋艧an dayand谋rd谋,
ki, fayl h蓹l蓹 sistem m枚vcuddur.
V蓹 biz baxmaq v蓹 yoxlamaq olar.
V蓹 bel蓹 ki proqram 眉莽眉n m眉蓹yy蓹n olunacaq b蓹zi israrl谋 data yaratd谋q,
data proqram sonra m枚vcud 莽al谋艧an ba艧a 莽at谋b.
>> 陌ndi i艧 bu funksiyalar谋 b眉t眉n fayllar谋 yaratmaq v蓹 manipulyasiya il蓹
m眉xt蓹lif yollarla onlar谋 standart io.h ya艧ay谋r,
olan header fayl ki, 莽ox g眉man ki, funt oldum
Olduqca 眉st o c眉ml蓹d蓹n proqramlar谋 莽ox b眉t眉n
Bu biri var, 莽眉nki bizim 眉莽眉n 蓹n faydal谋 funksiyalar谋,
d蓹 imkan verir printf, standart io.h. ya艧ay谋r
Bel蓹 ki, daxil funt ehtiyac yoxdur he莽 bir 蓹lav蓹 fayllar谋 y蓹qin ki,
m蓹qs蓹dil蓹 fayl g枚st蓹ricil蓹r il蓹 i艧l蓹m蓹k 眉莽眉n.
>> 陌ndi h蓹r bir fayl pointer funksiyas谋, v蓹 ya h蓹r bir fayl I / O, input output
funksiyas谋 biri kimi q蓹bul onun parametrl蓹ri v蓹 ya giri艧
ba艧qa fayl g枚st蓹rici bir, fopen olan
Siz fayl almaq 眉莽眉n istifad蓹 edir ilk n枚vb蓹d蓹 g枚st蓹rici.
Amma a莽d谋 sonra fayl v蓹 fayl g枚st蓹ricil蓹rin蓹 almaq,
sonra kimi ke莽蓹 bil蓹r m眉xt蓹lif funksiyalar谋 arqumentl蓹r
biz dan谋艧maq olacaq Bu g眉n, el蓹c蓹 d蓹 bir 莽ox dig蓹r
ki, fayllar谋 il蓹 i艧l蓹y蓹 bil蓹r.
>> Bel蓹 ki, alt谋 olduqca var 眉mumi 蓹sas olanlar谋
biz bu g眉n haqq谋nda dan谋艧maq olacaq ki.
fopen v蓹 onun yolda艧谋 funksiyas谋 fclose, fgetc
v蓹 onun yolda艧谋 funksiyas谋 fputc, v蓹 fread v蓹 onun yolda艧谋 funksiyas谋,
fwrite.
Bel蓹 ki, do臒ru daxil ed蓹k.
>> fopen n蓹 edir?
B蓹li, bu bir fayl a莽谋l谋r v蓹 bu bir fayl g枚st蓹rici verir,
bel蓹 ki, o istifad蓹 ed蓹 bil蓹rsiniz ki, bir arqument kimi g枚st蓹rici fayl
dig蓹r fayl I / O funksiyalar谋 h蓹r hans谋 bir.
茝n m眉h眉m 艧ey fopen il蓹 yadda
Siz a莽谋lm谋艧d谋r ki, sonra fayl v蓹 ya burada kimi bir 莽a臒谋r谋艧 etdi,
Sizi 蓹min etm蓹k yoxlamaq laz谋md谋r ki, geri alm谋艧d谋r pointer
null b蓹rab蓹r deyil.
Siz video seyr 蓹g蓹r g枚st蓹ricil蓹r, bu m蓹nada bil蓹r.
Amma siz c蓹hd v蓹 dereference 蓹g蓹r bir null g枚st蓹rici geri,
proqram y蓹qin ki, d枚z蓹c蓹yik bir seqmentasiya [i艧itilemez].
Biz 蓹min etm蓹k ist蓹yir蓹m ki, biz qanuni g枚st蓹rici geri alm谋艧d谋r.
zaman b枚y眉k 蓹ks蓹riyy蓹ti biz geri qanuni g枚st蓹rici kazan谋lm谋艧
v蓹 bir problem olmayacaq.
>> Bel蓹 ki, nec蓹 biz bir z蓹ng fopen ed蓹 bil蓹r蓹m?
Bu kimi olduqca 莽ox g枚r眉n眉r.
脺mumi olan ptr ptr-- File star g枚st蓹rici fopen fayl ad谋
v蓹 biz iki 艧eyi bir fayl ad谋 ke莽ir v蓹 蓹m蓹liyyat biz h蓹yata ist蓹yir蓹m.
Bel蓹likl蓹, biz kimi g枚r眉n眉r z蓹ng ola bil蓹r 艧eyl蓹rdir fayl star ptr 1 fopen b蓹rab蓹rdir
file1.txt.
M蓹n se莽diyiniz 蓹m蓹liyyat r edir.
>> Bel蓹likl蓹, n蓹 siz r burada d眉艧眉n眉rs眉n眉z?
艦eyl蓹r hans谋lard谋r biz fayllar谋 眉莽眉n n蓹 ed蓹 bil蓹r?
Bel蓹 ki, r 蓹m蓹liyyat ki, biz biz bir fayl oxumaq 眉莽眉n ist蓹diyiniz zaman se莽in.
Bel蓹 ki, biz 蓹sas蓹n zaman ki biz bu kimi z蓹ng
枚z眉m眉z眉 bir fayl g枚st蓹rici 蓹ld蓹 biz sonra m蓹lumat oxumaq bil蓹r ki, bel蓹
file1.txt olan.
>> Eynil蓹, biz fayl 2.txt a莽a bil蓹r ptr2 yaz谋 眉莽眉n v蓹 biz ke莽蓹 bil蓹r,
M蓹n burada yaratd谋臒谋n谋z fayl pointer, h蓹r hans谋 bir funksiyas谋 bir d蓹lil kimi
bir fayl m蓹lumat yaz谋r.
V蓹 yaz谋 ox艧ar var da se莽imi, 蓹lav蓹.
aras谋nda f蓹rq yaz谋l谋 v蓹 s谋n谋z
olan bir fayl yazmaq zaman, Siz yaz谋 眉莽眉n fopen z蓹ng 蓹g蓹r
ki, fayl art谋q bu, m枚vcud b眉t眉n fayl 眉zerine gedir.
Bu ba艧lamaq olacaq 莽ox ba艧谋nda,
b眉t眉n silm蓹 ki, art谋q var.
>> Siz eklenmesi 眉莽眉n onu a莽maq 蓹g蓹r Halbuki, Bu fayl sonunda ged蓹c蓹k
Art谋q m蓹tn var, 蓹g蓹r Bu v蓹 ya bu m蓹lumat,
v蓹 sonra ba艧layacaq oradan yaz谋.
Bel蓹likl蓹, siz h蓹r hans谋 bir itirm蓹k olmaz 茝vv蓹l etdiyiniz m蓹lumat.
Yazmaq v蓹 ya 蓹lav蓹 etm蓹k ist蓹yir蓹m olsun sort v蓹ziyy蓹ti as谋l谋d谋r.
Amma y蓹qin ki, n蓹 bilirsiniz vaxt谋 g蓹l蓹nd蓹 sa臒 蓹m蓹liyyatd谋r.
Bel蓹 ki, fopen var.
>> N蓹 fclose haqq谋nda?
B蓹li, olduqca sad蓹c蓹, fclose yaln谋z fayl g枚st蓹rici q蓹bul edir.
V蓹 g枚zl蓹y蓹 bil蓹r kimi, Bu fayl ba臒lay谋r.
Biz bir fayl qapal谋 sonra, biz bilm蓹z bir daha fayl I / O funksiyalar谋 yerin蓹
oxu v蓹 ya fayl, yaz谋.
Biz yenid蓹n a莽maq laz谋md谋r 眉莽眉n ba艧qa vaxt fayl
il蓹 i艧 davam etm蓹k Bu I / O funksiyalar谋 istifad蓹 ed蓹r蓹k.
Biz tamamlay谋n So fclose vasit蓹l蓹ri Bu fayl il蓹 i艧l蓹yir.
V蓹 biz ke莽m蓹k laz谋m deyil bir fayl g枚st蓹rici ad谋.
Bir ne莽蓹 il 蓹vv蓹l slaydlar Bel蓹 ki, biz oxumaq 眉莽眉n fopened fayl 1 dot m蓹tn
v蓹 biz t蓹yin ptr1 g枚st蓹rici fayl.
陌ndi biz ist蓹yirik karar ki, fayl oxu edilir.
Biz onunla bir daha etm蓹k laz谋m deyil.
Biz yaln谋z fclose ptr1 bil蓹rsiniz.
V蓹 eyni, biz bil蓹r dig蓹r olanlar谋 fclose.
Oldu.
Bel蓹 ki, a莽谋l谋艧 v蓹 ba臒lan谋艧 oldu.
Bu iki 蓹sas var 蓹m蓹liyyatlar谋 ba艧lay谋r.
>> 陌ndi biz, h蓹qiq蓹t蓹n ist蓹yir蓹m b蓹zi maraql谋 stuff ed蓹,
v蓹 ilk funksiyas谋 ki, biz laz谋md谋r ki fgetc-- ki, bunu g枚rm蓹k
Bir xarakter almaq fayl.
Ki, 眉mumiyy蓹tl蓹 fgetc n蓹 t蓹rc眉m蓹 olard谋.
H蓹yat onun m蓹qs蓹di 眉莽眉n n枚vb蓹ti xarakter oxumaq,
v蓹 ya bu sizin 莽ox 蓹g蓹r fgetc ilk z蓹ng
x眉susi fayl 眉莽眉n, ilk character.
Amma sonra sonra, Siz n枚vb蓹ti bir almaq
fayl 莽ox n枚vb蓹ti xarakteri, Bir xarakter d蓹yi艧蓹n v蓹 depolar.
Biz burada etdik ki, char ch, fgetc b蓹rab蓹rdir
bir fayl g枚st蓹rici ad谋 ke莽ir.
Yen蓹, bu, 莽ox var xat谋rlamaq Burada 蓹h蓹miyy蓹tli
眉莽眉n var ki, bu 蓹m蓹liyyat u臒ur,
Fayl pointer 枚z眉 must've oxumaq 眉莽眉n a莽谋lm谋艧d谋r.
Biz fayl谋 bir xarakter oxumaq bilm蓹y蓹n biz yazmaq 眉莽眉n a莽谋lan pointer.
Bel蓹 ki, biri fopen m蓹hdudiyy蓹tl蓹r, sa臒?
Biz m蓹hdudla艧d谋rmaq laz谋md谋r 枚z眉m眉z眉 yaln谋z h蓹yata
bir fayl g枚st蓹rici il蓹 bir 蓹m蓹liyyat.
Biz oxumaq ist蓹yirdi v蓹 Eyni fayl谋 yazmaq,
Biz a莽谋q iki ayr谋 olard谋 Eyni fayl fayl g枚st蓹ricil蓹r
oxumaq 眉莽眉n bir yaz谋 眉莽眉n.
>> Bel蓹 ki, yen蓹 t蓹k s蓹b蓹bi M蓹n indi yeti艧dirm蓹k
biz z蓹ng etm蓹k olacaq, 莽眉nki fgetc 眉莽眉n, fayl pointer must've
oxumaq 眉莽眉n a莽谋lm谋艧d谋r.
V蓹 sonra olduqca sad蓹c蓹, b眉t眉n etm蓹miz laz谋md谋r
Fayl g枚st蓹rici ad谋na ke莽ir.
Bel蓹 ki, char ch fgetc ptr1 b蓹rab蓹rdir.
>> Ki, biz蓹 almaq olacaq n枚vb蓹ti xarakter
v蓹 ya yenid蓹n bu ilk, 蓹g蓹r Biz bu z蓹ng etdik zaman,
ilk xarakter n蓹 Fayl ptr1 il蓹 i艧ar蓹 olunur.
Ki, fayl 1 dot m蓹tn idi ki, xat谋rlay谋ram.
Bu ilk xarakter almaq laz谋md谋r v蓹 biz d蓹yi艧蓹n ch onu saxlamaq laz谋md谋r.
Pretty sad蓹.
Bel蓹likl蓹, biz yaln谋z 眉莽 baxd谋 etdik funksiyalar谋 v蓹 biz art谋q
olduqca s蓹liq蓹li 艧ey ed蓹 bil蓹rsiniz.
>> Bu qabiliyy蓹ti 蓹g蓹r Bel蓹 ki, bir xarakter 蓹ld蓹
v蓹 biz loop bel蓹 pseudocode biz simvol almaq 眉莽眉n davam
bir fayl 眉z蓹rind蓹 v蓹 眉z蓹rind蓹 v蓹 over-- indi biz
h蓹r bir oxuya bil蓹rsiniz bir fayl xarakter.
V蓹 biz h蓹r xarakter 莽ap 蓹g蓹r biz oxumaq d蓹rhal sonra,
biz indi bir fayl oxumaq v蓹 ekran onun m蓹zmunu 莽ap.
Biz s蓹m蓹r蓹li Z蓹ncirl蓹m蓹 etdik Ekranda ki, fayl.
V蓹 n蓹 Linux command pi艧ik yoxdur.
>> Siz fayl ad谋 pi艧ik n枚v眉 varsa, b眉t眉n i莽eri臒ini 莽ap ed蓹c蓹k
Sizin terminal p蓹nc蓹r蓹 fayl.
V蓹 bel蓹 ki, burada bu ki莽ik loop, kod yaln谋z 眉莽 x蓹tl蓹ri,
lakin bu s蓹m蓹r蓹li dublikatlar谋 Linux command cat.
Bel蓹 ki, bu sintaksis bil蓹r bir az q蓹rib蓹 baxmaq
lakin burada neler var.
Ch fgetc b蓹rab蓹rdir baxmayaraq, ptr deyil bir b眉t眉n qurtum EOF-- b蓹rab蓹r,
lakin onu yaln谋z q谋rmaq ed蓹k bel蓹 ki, sintaksis ayd谋n deyil.
M蓹n bunu konsolid蓹 edilmi艧 etdik kosmik namin蓹,
bir az var, baxmayaraq ki, syntactically 莽蓹tin.
>> Bel蓹 ki, ya艧谋l sa臒 bu hiss蓹si indi n蓹 edir?
Yax艧谋, ki, yaln谋z bizim fgetc z蓹ng, sa臒?
Biz 蓹vv蓹l g枚rd眉m.
Bu, bir 蓹ld蓹 edir fayl character.
Sonra biz m眉qayis蓹 EOF qar艧谋 xarakter.
EOF bir x眉susi d蓹y蓹ri standart io.h, m眉蓹yy蓹n ed蓹n
Fayl xarakterli sonu.
Bel蓹 ki, 蓹sas蓹n ba艧 neler Bu loop bir xarakter oxumaq olacaq,
, EOF m眉qayis蓹 Fayl xarakterli sonu.
Onlar uy臒un deyils蓹, biz deyil , fayl sona g蓹lindi
ki, xarakter 莽ap laz谋md谋r.
Sonra biz geri getm蓹k laz谋md谋r yenid蓹n loop ba艧layan.
Biz bir xarakter almaq laz谋md谋r, yoxlamaq EOF qar艧谋, bel蓹 ki, onu 莽ap v蓹
v蓹 s v蓹 s, yol vasit蓹sil蓹 loop
biz fayl sonunda 蓹ld蓹 etdiyiniz q蓹d蓹r.
V蓹 o n枚qt蓹d蓹, biz 莽ap olacaq
fayl b眉t眉n m蓹zmunu h蓹yata.
Bel蓹 ki, yen蓹, biz yaln谋z g枚rd眉m fopen, fclose v蓹 fgetc
v蓹 art谋q biz dublikat bil蓹r Linux terminal komanda.
>> 茝vv蓹ld蓹 dediyim kimi, biz fgetc v蓹 fputc idi,
v蓹 fputc yolda艧谋 idi fgetc funksiyas谋.
Bel蓹 ki, kimi, t蓹s蓹vv眉r ed蓹 bil蓹r Bu yaz谋 b蓹rab蓹rdir.
Bu, biz蓹 bir yazmaq imkan verir bir fayl bir xarakter.
>> Yen蓹 verirl蓹r olan, yaln谋z Bu fgetc idi kimi, fayl
biz must've yaz谋l谋 etdiyiniz olmu艧dur yaz谋l谋 v蓹 ya eklenmesi 眉莽眉n a莽d谋.
Biz c蓹hd v蓹 bir fayl fputc istifad蓹 蓹g蓹r biz oxumaq 眉莽眉n a莽谋lan etdik ki,
biz 蓹ziyy蓹t olacaq bir s蓹hv bir az.
Amma z蓹ng olduqca sad蓹dir.
fputc kapital A ptr2, b眉t眉n Bunu olacaq bu deyil
m蓹ktub yazmaq gedir A fayla 2 n枚qt蓹 daxil
ad谋 oldu m蓹tn, a莽d谋q v蓹 t蓹yin fayl谋
pointer ptr2 眉莽眉n.
Bel蓹likl蓹, biz bir yazmaq olacaq kapital A 2 dot m蓹tn fayl谋.
V蓹 biz bir nida yazmaq laz谋md谋r 3 dot fayl qeyd
ptr3 il蓹 i艧ar蓹 etdi m蓹tn.
Bel蓹 ki, yen蓹, burada olduqca sad蓹.
>> Amma indi biz ba艧qa 艧ey ed蓹 bil蓹rsiniz.
Biz bu n眉mun蓹 biz art谋q gedirdi
pi艧ik kopya ed蓹 haqq谋nda Linux command, 莽ap bir
ekran.
Yax艧谋, indi biz imkan谋 var ki, fayllar谋 simvol oxumaq 眉莽眉n
v蓹 fayllar谋 simvol yazmaq niy蓹 biz yaln谋z 蓹v蓹z etmir
fputc z蓹ng il蓹 printf z蓹ng.
>> 陌ndi biz cp t蓹qlid etdik, bir 莽ox 蓹sas Linux command
biz yol uzun dan谋艧d谋q ki, bundan Linux video 蓹mr edir.
Biz s蓹m蓹r蓹li var burada ki, t蓹qlid.
Biz bir xarakter oxu edirik v蓹 sonra biz ist蓹yirik ba艧qa fayl xarakter yaz谋l谋.
Bir fayl oxu, yaz谋 眉z蓹rind蓹 ba艧qa,
v蓹 眉z蓹rind蓹 yen蓹 biz EOF hit q蓹d蓹r.
Biz sonuna var fayl biz sur蓹ti 莽al谋艧谋r谋q.
V蓹 biz b眉t眉n yaz谋l谋 olacaq simvol biz fayl laz谋md谋r
biz yaz谋l谋 oldu臒unuz.
Bel蓹 ki, bu cp, Linux sur蓹ti 蓹mr edir.
>> 脟ox 蓹vv蓹lind蓹 Bu video, m蓹n verirl蓹r idi
bir dan谋艧maq ki, g枚st蓹ricil蓹r haqq谋nda az.
Biz oldu臒unuz burada x眉susi edir g枚st蓹ricil蓹r haqq谋nda dan谋艧maq olacaq
蓹lav蓹 g枚st蓹ricil蓹rin蓹 fayl.
Bel蓹 ki, bu funksiya c眉r qorxudan g枚r眉n眉r.
Bir ne莽蓹 parametrl蓹ri var.
Burada ged蓹n bir 莽ox var.
M眉xt蓹lif bir 莽ox var r蓹ng v蓹 m蓹tnl蓹r.
Lakin, h蓹qiq蓹t蓹n, bu, yaln谋z var fgetc 眉mumi versiyas谋
ki, biz蓹 h蓹r hans谋 bir almaq 眉莽眉n imkan verir m蓹lumat m蓹bl蓹臒i.
Biz 蓹g蓹r bir az s蓹m蓹r蓹siz ola bil蓹r bir zamanda simvol bir 蓹ld蓹,
fayl vasit蓹sil蓹 iterating bir-bir xarakter.
Bu almaq 眉莽眉n g枚z蓹l olmazd谋 Bir anda bir d蓹f蓹 v蓹 ya 500 100?
>> Yax艧谋, fread v蓹 onun yolda艧谋 funksiyas谋 fwrite, biz hans谋 haqq谋nda dan谋艧maq laz谋md谋r
ikinci, biz蓹 yaln谋z bunu imkan verir.
Biz ixtiyari m蓹bl蓹臒i oxuya bil蓹rsiniz bir fayl m蓹lumat
v蓹 biz bir yerd蓹 m眉v蓹qq蓹ti olaraq saxlamaq.
Bunun 蓹v蓹zin蓹, yaln谋z qadir olan bir d蓹yi艧蓹n onu uy臒un,
biz bir s谋ra saxlamaq laz谋md谋r.
V蓹 bel蓹 ki, biz d枚rd ke莽m蓹k arqumentl蓹r bir g枚st蓹rici fread 眉莽眉n
biz ist蓹yirik yeri m蓹lumat saxlamaq 眉莽眉n gedir,
nec蓹 h蓹r bir m蓹lumat vahid b枚y眉k olacaq, informasiya ne莽蓹 蓹d蓹d
biz 蓹ld蓹 etm蓹k ist蓹y蓹n, v蓹 fayl biz onlar谋 almaq ist蓹yir蓹m.
Y蓹qin ki, 蓹n yax艧谋 t蓹svir Burada n眉mun蓹 il蓹.
Bel蓹 ki, biz b蓹yan ki, bildirin 10 integers bir s谋ra.
Biz yaln谋z b蓹yan etdik 枚zba艧谋na y谋臒谋n Var谋艧 10 int.
Bel蓹 ki, olduqca sad蓹 var.
陌ndi biz n蓹 olsa edirik edir frecall biz int 枚l莽眉s眉 oxuyursunuz ki,
d蓹f蓹 m蓹lumat 10 bytes.
Int olan Size ki four-- c bir tam 枚l莽眉s眉.
>> Bel蓹 ki, n蓹 biz edirik, biz oxuyursunuz deyil M蓹lumat d蓹y蓹rind蓹 40 bytes
fayl Ptr il蓹 i艧ar蓹 etdi.
V蓹 biz o saxlan谋lmas谋 edirik 40 bytes haradasa
biz k蓹nara oldu臒u Yadda艧 d蓹y蓹rind蓹 40 bytes.
Sevindirici hald谋r ki, biz art谋q ki etdik ki array orada, Var谋艧 elan.
Ki ke莽irilm蓹si qadirdir 10 d枚rd byte kontur.
C蓹mi Bel蓹 ki, 40 a莽a bil蓹r bytes m蓹lumat d蓹y蓹r.
V蓹 biz indi 40 bytes oxu fayl informasiya,
v蓹 biz Var谋艧 onu saxlan谋lmas谋 edirik.
>> G枚st蓹ricil蓹rin蓹 video Xat谋rladaq ki, Bel蓹 Var谋艧 kimi bir s谋ra, ad谋,
h蓹qiq蓹t蓹n, yaln谋z bir g枚st蓹ricisidir ilk element.
Bel蓹 ki, biz orada Var谋艧 ke莽m蓹k zaman, biz bir g枚st蓹rici ke莽蓹n, 蓹slind蓹, var.
>> Eynil蓹 Biz bu ed蓹 bil蓹rsiniz biz m眉tl蓹q deyil
y谋臒谋n谋 bufer saxlamaq laz谋md谋r.
Biz d蓹 dinamik ay谋ra bil蓹r bir malloc istifad蓹 ed蓹r蓹k, bu kimi bufer.
Zaman, saxla dinamik yadda艧 ayr谋lmas谋,
biz onu q蓹na蓹t edirik y谋臒谋n deyil y谋臒谋n谋.
Amma h蓹l蓹 bir tampon var.
>> Bu h蓹l蓹, bu halda, edir m蓹lumat 640 bayt ke莽irilm蓹si
ikiqat s蓹kkiz bayt tutur, 莽眉nki.
V蓹 biz onlardan 80 眉莽眉n xahi艧 edirik.
Biz yer ist蓹yir蓹m 80 ikiqat ke莽iril蓹c蓹k.
Bel蓹 ki, 80 d蓹f蓹 8 640 bytes m蓹lumat.
V蓹 fread ki, z蓹ng m蓹lumat 640 bayt toplanmas谋
fayl il蓹 i艧ar蓹 olan ptr v蓹 arr2 indi saxlan谋lmas谋.
>> 陌ndi biz d蓹 fread m眉alic蓹 ed蓹 bil蓹r yaln谋z fgetc z蓹ng kimi.
Bu halda, biz yaln谋z 莽al谋艧d谋臒谋n谋z fayl谋 bir xarakter almaq.
V蓹 biz bir ehtiyac yoxdur array bir xarakter ke莽irm蓹k.
Biz yaln谋z onu saxlaya bil蓹rsiniz Bir xarakter d蓹yi艧蓹n.
>> tutmaq, baxmayaraq ki, biz yaln谋z bir d蓹yi艧蓹n zaman,
biz ke莽m蓹k laz谋md谋r ki, d蓹yi艧蓹n 眉nvan谋
Xat谋rladaq ki, 莽眉nki fread ilk arqument
yeri v蓹 yadda艧 bir g枚st蓹ricisidir biz m蓹lumat saxlamaq ist蓹diyiniz.
Yen蓹 bir ad谋 array bir g枚st蓹ricisidir.
Bel蓹 ki, biz i艧areti array etm蓹k laz谋m deyil.
Amma c, karakter c Burada bir s谋ra deyil.
Bu yaln谋z bir d蓹yi艧蓹n var.
V蓹 bel蓹 ki, biz bir ke莽m蓹k laz谋md谋r i艧areti c g枚st蓹rir
ki, biz ist蓹yirik 眉nvan oldu臒unu m蓹lumat bu bir byte saxlamaq 眉莽眉n,
bu bir xarakter ki, biz Ptr olan toplanmas谋 edirik.
M蓹n ke莽m蓹k laz谋md谋r Fwrite-- Bu bir az daha
tez, olduqca 莽ox fread d蓹qiq ekvivalent
Bu yaz谋 眉莽眉n var istisna olmaqla, 蓹v蓹zin蓹 oxu, yaln谋z
other-- kimi a莽谋q etdik v蓹 yax谋n bir xarakter almaq,
bir xarakter yaz谋n.
陌ndi ixtiyari almaq var m蓹lumat m蓹bl蓹臒i,
m蓹lumat sa臒 ixtiyari m蓹bl蓹臒i.
Bel蓹 ki, yaln谋z 蓹vv蓹l kimi, biz 10 integers bir s谋ra var
biz art谋q m蓹lumat b蓹lk蓹 saxlan谋l谋r.
>> Bu y蓹qin ki, kodu b蓹zi x蓹tl蓹ri idi bu iki aras谋nda getm蓹lidir
M蓹n Var谋艧 doldurmaq harada m蓹nal谋 bir 艧ey.
M蓹n 10 m眉xt蓹lif integers il蓹 doldurun.
茝v蓹zin蓹, m蓹n n蓹 edir蓹m bunu Var谋艧 yaz谋 edilir
v蓹 Var谋艧 m蓹lumat toplanmas谋.
M蓹n m蓹lumat alaraq al谋ram v蓹 fayl onu qoyulmas谋.
>> Bel蓹 ki, 蓹v蓹zin蓹 onu olan bufer fayl,
biz art谋q olacaq fayl bufer.
Bel蓹 ki, yaln谋z 蓹ks edir.
茝vv蓹l kimi Bel蓹 ki, yen蓹, biz d蓹 yadda艧 bir y谋臒谋n y谋臒谋n var
biz dinamik etdik ki, ayr谋lm谋艧 v蓹 oxumaq
v蓹 fayl ki, yazmaq.
>> V蓹 biz d蓹 bir d蓹yi艧蓹n var bir byte ke莽irilm蓹si qadir
Bel蓹 bir xarakter kimi m蓹lumatlar谋n.
Ancaq yen蓹 d蓹, biz ke莽m蓹k laz谋md谋r ki, d蓹yi艧蓹n 眉nvan谋
biz oxutdu ist蓹diyiniz zaman.
Bel蓹 ki, biz m蓹lumat yaza bil蓹rsiniz ki, 眉nvanda tapmaq
Fayl g枚st蓹rici, ptr.
>> Dig蓹r 莽ox var b枚y眉k fayl I / O funksiyalar谋
Bundan ba艧qa, m眉xt蓹lif 艧eyl蓹r olanlar谋 biz bu g眉n haqq谋nda s枚hb蓹t etdik.
Is蓹 bir ne莽蓹 Faydal谋 ola bil蓹r
fgets v蓹 fputs var, olan ekvivalent
fgetc v蓹 fputc lakin oxumaq 眉莽眉n bir fayl bir string.
Bunun 蓹v蓹zin蓹 bir xarakter, Bu b眉t眉n string oxumaq olacaq.
蓹sas蓹n imkan verir fprintf, fayl yazmaq 眉莽眉n printf istifad蓹 etm蓹k.
Siz n蓹 ed蓹 bil蓹rsiniz, bel蓹 ki, kimi istifad蓹 ed蓹r蓹k d蓹yi艧蓹n 蓹v蓹z
placeholders faiz i v蓹 printf il蓹 y眉zd蓹 d, v蓹 s,
Siz eyni bil蓹r printf string v蓹 莽ap bir 艧ey
bir fayl kimi.
>> fseek-- bir DVD player varsa M蓹n ad蓹t蓹n burada istifad蓹 analogiya edir
n枚v istifad蓹 kimi sizin geri v蓹 s眉r蓹tli ir蓹li
d眉ym蓹l蓹ri film 蓹traf谋nda h蓹r蓹k蓹t etm蓹k.
Eynil蓹, siz fayl 蓹traf谋nda h蓹r蓹k蓹t ed蓹 bil蓹r.
Daxili 艧eyl蓹rd蓹n biri ki, fayl strukturu
Siz bir g枚st蓹ricidir ki, c yarad谋r harada fayl var.
Siz 莽ox var byte s谋f谋r ba艧layan?
Siz byte 100 var, byte 1000, v蓹 s?
Siz 枚zba艧谋na h蓹r蓹k蓹t fseek istifad蓹 ed蓹 bil蓹rsiniz ir蓹li v蓹 ya geri ki, g枚st蓹rici.
>> V蓹 yen蓹, ftell bir DVD player b蓹nz蓹r,
deyir ki, bir az saat kimi Siz ne莽蓹 d蓹qiq蓹 v蓹 saniy蓹 siz
x眉susi film var.
Eynil蓹, ftell nec蓹 deyir 莽ox bytes fayl daxil.
feof f蓹rqli bir versiyas谋 Siz var olub a艧kar
fayl sona g蓹lindi.
V蓹 ferror bir funksiyas谋 var istifad蓹 ed蓹 bil蓹rsiniz ki,
bir 艧ey olub olmad谋臒谋n谋 a艧kar etm蓹k 眉莽眉n bir fayl il蓹 yanl谋艧 i艧 getdi.
Yen蓹 d蓹, bu yaln谋z s蓹thi kaz谋ma.
脟ox daha 莽ox fayl I / O h蓹l蓹 var standart io.h. funksiyalar谋
Amma bu, y蓹qin ki, siz 蓹ld蓹 ed蓹c蓹k Fayl g枚st蓹ricil蓹r il蓹 i艧 ba艧lad谋.
M蓹n Doug Lloyd edir蓹m.
Bu CS50 edir.