>> SIARADWR: Hyd yn hyn, mae'n debygol bod y rhan fwyaf o'ch rhaglenni
wedi bod yn dipyn byrhoedlog.
Rydych yn rhedeg rhaglen fel Mario neu Greedy.
Mae'n gwneud rhywbeth, mae'n efallai awgrymiadau y defnyddiwr ar gyfer rhywfaint o wybodaeth,
argraffu rhywfaint o allbwn i'r sgrin, ond wedyn pan fydd eich rhaglen drosodd,
does 'n sylweddol dim tystiolaeth yno cafodd ei redeg erioed yn y lle cyntaf.
Hynny yw, yn sicr, efallai y byddwch wedi gadael yn agor yn y ffenestr terfynell,
ond os ydych yn glir eich sgrin, mae ' 'n sylweddol dim tystiolaeth ei fod yn bodoli.
Nid oes gennym ffordd o storio gwybodaeth gyson, gwybodaeth
sy'n bodoli ar ôl ein rhaglen wedi rhoi'r gorau i redeg,
neu os nad ydym wedi hyd at y pwynt hwn.
Yn ffodus, fodd bynnag, c yn ei wneud rhoi i ni gyda'r gallu
i wneud hyn drwy weithredu rhywbeth o'r enw
ffeil, strwythur sy'n bôn yn cynrychioli ffeil y byddech yn dyblu
cliciwch ar eich cyfrifiadur, os ydych chi'n Defnyddir i amgylchedd defnyddwyr graffigol.
Yn gyffredinol, wrth weithio gyda c, rydym yn mewn gwirionedd
mynd i fod yn gweithio gyda awgrymiadau i files-- ffeil stars--
ac eithrio ar gyfer ychydig pan fyddwn yn sôn am gwpl
o'r swyddogaethau y gweithio gyda awgrymiadau ffeil.
Nid oes angen i chi fod wedi cloddio mewn gwirionedd yn rhy ddwfn i mewn dealltwriaeth awgrymiadau
eu hunain.
Mae ychydig teeny lle y byddwn yn siarad amdanynt,
ond yn gyffredinol yn ffeilio awgrymiadau a awgrymiadau, tra rhyngberthyn,
Nid yn union yr un peth.
>> Nawr beth ddylwn i ei olygu pan Rwy'n dweud data parhaus?
Beth yw data parhaus?
Pam rydym yn poeni am y peth?
Dweud, er enghraifft, bod ydych yn rhedeg rhaglen
neu os ydych wedi ailysgrifennu yn rhaglen sy'n gêm,
ac rydych am i gadw golwg yr holl symudiadau y defnyddiwr
felly efallai os bydd rhywbeth yn mynd o'i le, gallwch adolygu y ffeil ar ôl y gêm.
Dyna beth a olygwn pan fyddwn yn siarad am ddata cyson.
>> Yn ystod rhedeg eich rhaglen, mae ffeil yn cael ei greu.
A phan fydd eich rhaglen wedi rhoi'r gorau i redeg,
bod ffeil yn dal i fodoli ar eich system.
A gallwn edrych arno ac yn archwilio.
Ac felly y byddai rhaglen yn cael ei gosod i wedi creu rhywfaint o ddata parhaus,
data bodoli ar ôl y rhaglen wedi gorffen rhedeg.
>> Nawr holl swyddogaethau hyn sy'n gweithio gyda chreu ffeiliau a thrin
nhw mewn nifer o ffyrdd yn byw mewn io.h safonol,
sydd yn ffeil pennawd sy'n ydych wedi bod bunt yn debygol
gan gynnwys ar ben 'n bert llawer eich holl raglenni
oherwydd ei fod yn cynnwys un o'r y rhan fwyaf o swyddogaethau defnyddiol i ni,
printf, sydd hefyd yn gadael yn byw yn io.h. safonol
Felly nid oes angen i chi punt cynnwys unrhyw ffeiliau ychwanegol yn ôl pob tebyg
er mwyn gweithio gyda awgrymiadau ffeil.
>> Bellach mae pob swyddogaeth pwyntydd ffeil unigol, neu bob un ffeil I / O, allbwn mewnbwn
swyddogaeth, yn derbyn fel un o'i baramedrau neu fewnbynnau
yn pointer-- ffeil eithrio ar gyfer un, fopen, a oedd yn
yw'r hyn rydych yn ei ddefnyddio i gael y ffeil pwyntydd yn y lle cyntaf.
Ond ar ôl i chi agor y ffeilio a byddwch yn cael awgrymiadau ffeil,
gallwch wedyn eu pasio fel dadleuon â gwahanol swyddogaethau'r
rydym yn mynd i siarad am heddiw, yn ogystal â llawer o rai eraill
fel y gallwch weithio gyda ffeiliau.
>> Felly mae chwe 'n bert rhai sylfaenol cyffredin
ein bod ni'n mynd i siarad am heddiw.
fopen ac mae ei gydymaith fclose swyddogaeth, fgetc
ac mae ei fputc swyddogaeth cydymaith, a fread a'i swyddogaeth gydymaith,
fwrite.
Felly gadewch i ni fynd i'r dde i mewn iddo.
>> fopen-- beth mae'n ei wneud?
Wel, mae'n agor ffeil ac mae'n yn rhoi pwyntydd ffeil rydych iddo,
fel y gallwch wedyn ddefnyddio'r ffeil pwyntydd fel dadl
i unrhyw un o'r ffeiliau eraill I / O swyddogaethau.
Y peth mwyaf pwysig i'w gofio gyda fopen
yw bod ar ôl i chi agor y ffeil neu gwneud galwad fel yr un yma,
angen i chi wirio i wneud yn siŵr bod y pwyntydd eich bod yn mynd yn ôl
Nid yn hafal i null.
Os nad ydych wedi gwylio'r fideo ar awgrymiadau, efallai na fydd hyn yn gwneud synnwyr.
Ond os ydych yn ceisio dereference adalw pwyntydd null,
Bydd eich rhaglen yn ôl pob tebyg yn dioddef segmentiad [Anghlywadwy].
Rydym am wneud yn siŵr ein bod yn got a cefn pwyntydd dilys.
Mae'r mwyafrif helaeth o'r amser byddwn yn wedi gotten pwyntydd dilys yn ôl
ac ni fydd yn broblem.
>> Felly sut rydym yn gwneud galwad i fopen?
Mae'n edrych yn 'n bert lawer fel hyn.
Seren ffeil ptr-- PTR bod yn gyffredinol enw am ffeil pointer-- fopen
ac yr ydym yn pasio mewn dau beth, enw ffeil a llawdriniaeth rydym am ymgymryd ag ef.
Felly efallai gennym galwad sy'n edrych fel this-- seren ffeil PTR 1 yn dychwelyd fopen
file1.txt.
A gweithrediad yr wyf wedi ei ddewis yn r.
>> Felly, beth yn eich barn r yma?
Beth yw'r math o bethau yr ydym yn allai fod yn gallu ei wneud i ffeiliau?
Felly r yw llawdriniaeth yr ydym dewis pan fyddwn eisiau darllen ffeil.
Felly byddem bôn pan rydym yn gwneud galwad fel hyn
fod yn cael ein hunain pwyntydd ffeil megis y gallem wedyn darllen gwybodaeth
o file1.txt.
>> Yn yr un modd, gallem agor 2.txt ffeil ar gyfer ysgrifennu ac felly rydym yn gallu pasio ptr2,
pwyntydd ffeil dwi wedi creu yma, fel dadl i unrhyw swyddogaeth sy'n
yn ysgrifennu gwybodaeth i ffeil.
Ac yn debyg i ysgrifennu, mae ' hefyd yr opsiwn i atodi, a.
Y gwahaniaeth rhwng ysgrifennu a atodi
yw bod pan fyddwch yn ysgrifennu at ffeil, os byddwch yn gwneud galwad i fopen ar gyfer ysgrifennu
a bod y ffeil yn bodoli eisoes, 'i' mynd i ysgrifennu dros y ffeil gyfan.
Mae'n mynd i ddechrau ar y dechrau,
dileu yr holl wybodaeth dyna yno eisoes.
>> Ond os byddwch yn agor ar gyfer atodi, bydd yn mynd i ddiwedd y ffeil
os oes eisoes yn destun mewn neu wybodaeth ynddo,
a bydd wedyn yn dechrau ysgrifennu oddi yno.
Felly, ni fyddwch yn colli unrhyw un o'r wybodaeth yr ydych wedi ei wneud o'r blaen.
P'un a ydych am ysgrifennu neu atodi math o dibynnu ar y sefyllfa.
Ond mae'n debyg y byddwch yn gwybod beth mae'r gweithrediad cywir yw pan ddaw'r amser.
Felly dyna fopen.
>> Beth am fclose?
Wel, 'n bert syml, fclose dim ond yn derbyn y pwyntydd ffeil.
Ac fel y gallech ddisgwyl, yn cau y ffeil.
Ac unwaith y byddwn wedi cau ffeil, ni allwn cyflawni unrhyw mwy ffeil I / O swyddogaethau,
darllen neu ysgrifennu, ar y ffeil.
Mae'n rhaid i ni ail-agor y ffeilio amser arall er mwyn
parhau i weithio gyda gan ddefnyddio'r swyddogaethau I / O.
Fodd Felly fclose rydym yn ei wneud gweithio gyda'r ffeil hon.
A'r holl mae angen i basio i mewn yn enw pwyntydd ffeil.
Felly, ar un neu ddau sleidiau yn ôl, rydym yn fopened ffeil 1 dot testun ar gyfer darllen
ac rydym yn neilltuo y ffeil pwyntydd i ptr1.
Nawr rydym wedi penderfynu ein bod gwneud darllen y ffeil.
Nid oes angen i ni wneud mwy ag ef.
Y gallwn ptr1 unig fclose.
Ac yn yr un modd, gallem fclose y rhai eraill.
Iawn.
Felly mae hynny'n agor a chau.
Dyna'r ddau sylfaenol gweithrediadau cychwyn.
>> Nawr rydym am i mewn gwirionedd gwneud rhai pethau diddorol,
a'r swyddogaeth cyntaf inni chi helpu gweld a fydd yn gwneud hynny yn fgetc--
ffeil yn cael cymeriad.
Dyna beth fgetc yn gyffredinol Byddai cyfieithu i.
Ei nod mewn bywyd yw Darllenwch y cymeriad nesaf,
neu os yw hyn yn eich iawn alwad gyntaf i fgetc
am ffeil penodol, cymeriad cyntaf.
Ond yna ar ôl hynny, byddwch yn cael yr un nesaf,
cymeriad nesaf iawn o hynny ffeil, a storfeydd mewn newidyn cymeriad.
Fel yr ydym wedi ei wneud yma, ch torgoch hafal fgetc,
pasio yn enw pwyntydd ffeil.
Unwaith eto, mae'n iawn bwysig yma i'w gofio
hynny er mwyn cael llawdriniaeth hon yn llwyddo,
pwyntydd ffeil must've hun wedi'i agor ar gyfer darllen.
Ni allwn ddarllen cymeriad o ffeil pwyntydd a agorodd i ni ar gyfer ysgrifennu.
Felly dyna un o'r cyfyngiadau fopen, dde?
Mae'n rhaid i ni gyfyngu ein hunain i berfformio yn unig
un gweithrediad gydag un pwyntydd ffeil.
Os ydym yn awyddus i ddarllen ac ysgrifennu o'r un ffeil,
byddai gennym ar agor dau ar wahân awgrymiadau ffeil at yr un file--
un ar gyfer darllen, un ar gyfer ysgrifennu.
>> Felly eto, yr unig reswm Rwy'n dod bod hyd yn awr yw
oherwydd os ydym yn mynd i wneud galwad i fgetc, hynny must've pwyntydd ffeil
wedi'i agor ar gyfer darllen.
Ac yna 'n bert syml, i gyd mae angen i ni ei wneud
yn pasio yn enw'r pwyntydd ffeil.
Felly ch torgoch hafal ptr1 fgetc.
>> Mae hynny'n mynd i gael i ni y character-- nesaf
neu eto, os mai dyma'r cyntaf amser rydym wedi gwneud yr alwad hon,
y character-- cyntaf o ba bynnag ffeil yn cael ei tynnu sylw ato gan ptr1.
Dwyn i gof bod hynny'n ffeil 1 dot testun.
Bydd yn cael y cymeriad cyntaf y a byddwn yn ei storio yn y ch amrywiol.
Pretty syml.
Felly, rydym wedi dim ond yn edrych ar dair swyddogaethau ac eisoes rydym yn
Gall wneud rhywbeth eithaf taclus.
>> Felly, os byddwn yn cymryd y gallu hwn o gael gymeriad
ac yr ydym yn ddolen iddo- felly rydym parhau i gael cymeriadau
o ffeil drosodd a drosodd ac yn awr rydym over--
gallu darllen pob un cymeriad ffeil.
Ac os ydym yn argraffu pob cymeriad yn syth ar ôl i ni ei ddarllen,
rydym bellach wedi darllen o ffeil a argraffwyd ei gynnwys ar y sgrin.
Rydym wedi concatenated effeithiol y ffeil ar y sgrin.
A dyna beth mae'r Linux cath gorchymyn ei wneud.
>> Os ydych yn fath gath yn enw'r ffeil, mae'n Bydd argraffu'r holl gynnwys
y ffeil yn eich ffenestr terfynell.
Ac felly dolen bach hyn yma, Dim ond tair llinell o god,
ond ei fod yn dyblygu effeithiol y gath gorchymyn Linux.
Felly gallai cystrawen hwn edrych ychydig yn od,
ond dyma beth sy'n digwydd yma.
Er ch hafal fgetc, nid PTR yn cyfartal i EOF-- ei fod yn lond ceg cyfan,
ond gadewch i dorri i lawr yn unig felly mae'n glir ar y gystrawen.
Rwyf wedi cyfuno ei er mwyn y gofod,
er ei fod ychydig yn syntactically anodd.
>> Felly y rhan hon yn gywir gwyrdd Erbyn hyn, yr hyn sy'n ei wneud?
Wel, dyna'n union ein fgetc galwad, dde?
Rydym wedi gweld hynny o'r blaen.
Mae'n cael un cymeriad o'r ffeil.
Yna, rydym yn cymharu bod cymeriad yn erbyn EOF.
EOF yn werth arbennig sy'n a ddiffinnir yn io.h safonol, sydd
yw diwedd cymeriad ffeil.
Felly, yn y bôn yr hyn sy'n mynd i ddigwydd yw y bydd dolen hwn yn darllen cymeriad,
gymharu â EOF, mae'r diwedd y cymeriad ffeil.
Os nad ydynt yn cyfateb, felly nid ydym wedi cyrraedd diwedd y ffeil,
byddwn print that cymeriad allan.
Yna, byddwn yn mynd yn ôl at y gan ddechrau o'r ddolen eto.
Byddwn yn cael cymeriad, gwiriwch erbyn EOF, ei hargraffu, ac yn y blaen
ac yn y blaen ac yn y blaen, dolennu drwy'r yn y modd hwnnw
hyd nes y byddwn wedi cyrraedd diwedd y ffeil.
Ac yna erbyn hynny, byddwn wedi argraffu
allan holl gynnwys y ffeil.
Felly eto, yr ydym wedi gweld yn unig fopen, fclose, a fgetc
ac eisoes y gallwn ni ddyblygu gorchymyn terfynell Linux.
>> Fel y dywedais ar y dechrau, cawsom fgetc a fputc,
ac fputc oedd y cydymaith swyddogaeth fgetc.
Ac felly, fel y gallech ddychmygu, ei fod yn y ysgrifennu cyfwerth.
Mae'n ein galluogi i ysgrifennu cymeriad unigol i ffeil.
>> Unwaith eto, mae'r cafeat bod, dim ond fel yr oedd gyda fgetc, y ffeil
ein bod yn ysgrifennu at must've bod yn Agorodd ar gyfer ysgrifennu neu ar gyfer atodi.
Os ydym yn ceisio defnyddio fputc ar ffeil ein bod wedi agor ar gyfer darllen,
rydym yn mynd i ddioddef yn dipyn o gamgymeriad.
Ond mae'r alwad yn eithaf syml.
cyfalaf fputc Mae ptr2, pob mae hynny'n mynd i wneud yw ei fod yn
mynd i ysgrifennu llythyr i A mewn i ffeil 2 dot
testun, a oedd enw'r ffeil ein bod yn agor ac yn neilltuo
pwyntydd i ptr2.
Felly rydym yn mynd i ysgrifennu cyfalaf A i ffeilio 2 dot testun.
A byddwn yn ysgrifennu ebychnod pwyntio i ffeilio 3 dot
testun, a gafodd ei sylw at y ffaith ato gan ptr3.
Felly unwaith eto, eithaf syml yma.
>> Ond erbyn hyn y gallwn ei wneud beth arall.
Mae gennym yr enghraifft hon yr oeddem yn jyst yn mynd dros
am allu ailadrodd y gath Linux gorchymyn, yr un sy'n argraffu allan
i'r sgrin.
Wel, nawr bod gennym y gallu i ddarllen cymeriadau o'r ffeiliau
ac ysgrifennu cymeriadau i ffeiliau, pam nad ydym yn unig rhodder y
ffonio i printf gyda galwad i fputc.
>> Ac yn awr rydym wedi dyblygu cp, gorchymyn Linux sylfaenol iawn
ein bod yn siarad am ffordd bell yn ôl yn yr Linux gorchmynion fideo.
Rydym wedi effeithiol dyblygu y dde yma.
Rydym yn darllen cymeriad ac yna rydym yn ysgrifenedig ei chymeriad i ffeil arall.
Darllen o un ffeil, ysgrifennu i un arall, drosodd a throsodd
ar ôl tro hyd nes y byddwn yn cyrraedd EOF.
Mae gennym hyd at ddiwedd y ffeil ydym yn ceisio ei gopïo oddi wrth.
A thrwy y byddwn wedi ysgrifennu i gyd o'r cymeriadau angen at y ffeil yr ydym
bod rydym yn ysgrifennu at.
Felly mae hyn yn cp, mae'r copi gorchymyn Linux.
>> Ar y cychwyn cyntaf o fideo hwn, cefais y cafeat
y byddem yn siarad am ychydig bach am awgrymiadau.
Dyma benodol lle rydym yn mynd i siarad am awgrymiadau
yn ychwanegol i ffeilio awgrymiadau.
Felly swyddogaeth hon yn edrych yn fath o frawychus.
Mae'n cael nifer o baramedrau.
Mae llawer yn digwydd yma.
Mae llawer o wahanol lliwiau a thestunau.
Ond mewn gwirionedd, dim ond y Fersiwn generig o fgetc
sy'n ein galluogi i gael unrhyw faint o wybodaeth.
Gall fod ychydig yn aneffeithlon os ydym yn cael cymeriadau un ar y tro,
ailadrodd trwy'r ffeil un cymeriad ar y tro.
Oni fyddai'n brafiach i fynd 100 ar y tro neu 500 ar y tro?
>> Wel, fread a'i swyddogaeth cydymaith fwrite, a byddwn yn siarad am
mewn eiliad, yn caniatáu i ni wneud hynny.
Gallwn ddarllen swm mympwyol gwybodaeth o ffeil
ac yr ydym yn ei storio yn rhywle dros dro.
Yn hytrach na gallu i ddim ond ffitio mewn newidyn sengl,
Efallai y bydd angen i ni ei storio mewn arae.
Ac felly, yr ydym yn pasio mewn pedwar dadleuon i fread-- pwyntydd
i'r lleoliad lle rydym yn mynd i storio gwybodaeth,
pa mor fawr pob uned o wybodaeth fydd, sawl uned o wybodaeth
yr ydym am ei gaffael, ac o pa ffeil yr ydym am eu cael.
Yn ôl pob tebyg gorau darluniadol gydag enghraifft yma.
Felly, gadewch i ni ddweud ein bod yn datgan amrywiaeth o 10 o gyfanrifau.
Rydym newydd ddatgan ar y pentwr fympwyol int arr 10.
Felly dyna eithaf syml.
Nawr yr hyn rydym yn ei wneud fodd bynnag, yw y frecall yn ein bod yn darllen maint y int
Amseroedd 10 bytes o wybodaeth.
Maint y int lles four-- dyna maint cyfanrif mewn c.
>> Felly, yr hyn yr ydym yn ei wneud yw ein bod yn darllen 40 bytes gwerth o wybodaeth
o'r ffeil yn tynnu sylw at y PTR.
Ac rydym yn storio rhai 40 bytes rhywle
lle yr ydym wedi neilltuo 40 bytes gwerth o gof.
Yn ffodus, yr ydym eisoes wedi gwneud hynny gan datgan arr, bod amrywiaeth iawn yno.
Sy'n gallu ddaliad 10 uned pedwar-beit.
Felly, yn gyfanswm, gall ddal 40 beit gwerth gwybodaeth.
Ac rydym yn awr yn darllen 40 bytes gwybodaeth o'r ffeil,
ac rydym yn storio mewn trefn.
>> Dwyn i gof o'r fideo ar awgrymiadau sy'n enw amrywiaeth, megis arr,
mewn gwirionedd dim ond pwyntydd at ei elfen gyntaf.
Felly, pan fyddwn yn pasio yn arr yno, rydym yn , mewn gwirionedd, gan fynd heibio mewn pwyntydd.
>> Yn yr un modd y gallwn ei wneud this-- Nid ydym yn ei wneud o reidrwydd
Mae angen i achub ein byffer ar y corn.
Gallem hefyd ddeinamig dyrannu a byffer fel hyn, gan ddefnyddio malloc.
Cofiwch, pan fyddwn yn ddynamig dyrannu cof,
rydym yn arbed ar y pentwr, nid oedd y pentwr.
Ond mae'n dal i fod yn glustog.
>> Mae'n dal i, yn yr achos hwn, yn dal 640 bytes o wybodaeth
oherwydd bod ddwbl yn cymryd wyth bytes.
Ac rydym yn gofyn am 80 ohonynt.
Rydym yn awyddus i gael lle i ddal 80 o dyblau.
Felly 80 gwaith 8 yn wybodaeth 640 bytes.
A bod alwad i fread yw casglu 640 bytes o wybodaeth
o'r ffeil tynnu sylw at gan PTR a storio yn awr mewn arr2.
>> Nawr gallwn hefyd yn trin fread yn union fel galwad i fgetc.
Yn yr achos hwn, rydym yn jyst yn ceisio at cael un cymeriad o'r ffeil.
Ac nid oes angen i ni amrywiaeth i gynnal cymeriad.
Allwn ei storio mewn newidyn cymeriad.
>> Mae'r dal, fodd bynnag, yw bod pan rydym yn unig yn cael newidiol,
mae angen i basio yn y cyfeiriad y newidyn
oherwydd dwyn i gof bod y ddadl gyntaf i fread
yn pwyntydd i'r lleoliad a'r cof lle'r ydym am storio'r wybodaeth.
Unwaith eto, yr enw o amrywiaeth yn pwyntydd.
Felly nid oes angen i ni wneud amrywiaeth ampersand.
Ond c, cymeriad c yma, nid yw arae.
Mae'n dim ond amrywiol.
Ac felly mae angen i ni basio ampersand c i ddangos
bod dyna y cyfeiriad lle rydym eisiau i storio hyn yn un beit o wybodaeth,
mae hyn yn un cymeriad sy'n rydym yn casglu o PTR.
Fwrite-- byddaf yn mynd drwy mae hyn ychydig yn fwy
quickly-- 'n bert lawer y union sy'n cyfateb i fread
ac eithrio ei fod ar gyfer ysgrifennu yn hytrach na darllen, dim ond
fel yr other-- rydym wedi cael ar agor ac yn agos, yn cael cymeriad,
ysgrifennu gymeriad.
Nawr mae'n cael mympwyol faint o wybodaeth,
swm mympwyol cywir o wybodaeth.
Felly yn union fel o'r blaen, y gallwn cael amrywiaeth o 10 o gyfanrifau
lle mae gennym eisoes gwybodaeth a storiwyd, efallai.
>> Mae'n debyg mai rhai llinellau o god a ddylai fynd rhwng y ddau
lle yr wyf yn llenwi arr â rhywbeth ystyrlon.
Yr wyf yn ei lenwi â 10 o gyfanrifau gwahanol.
Ac yn lle, yr hyn rwy'n wneud yw ysgrifennu o arr
a chasglu y wybodaeth gan arr.
A dwi'n cymryd bod y wybodaeth a'i roi i mewn i'r ffeil.
>> Felly, yn lle ei fod o 'r ffeilia at y byffer,
rydym yn awr yn mynd o y byffer at y ffeil.
Felly dim ond y gwrthwyneb.
Felly unwaith eto, yn union fel o'r blaen, y gallwn hefyd yn cael cyfran pentwr o gof
bod rydym wedi ddeinamig ddyrannu a'i darllen o hynny
ac ysgrifennwch hynny at y ffeil.
>> Ac mae gennym hefyd newidyn sengl gallu dal un beit
gwybodaeth, megis cymeriad.
Ond unwaith eto, mae angen i basio mewn cyfeiriad y newidyn
pan fyddwn am ei ddarllen ohono.
Felly gallwn ysgrifennu'r wybodaeth rydym yn dod o hyd yn y cyfeiriad hwnnw
i'r pwyntydd ffeil, PTR.
>> Mae llawer o eraill file mawr Rwyf swyddogaethau / O
bod yn gwneud amryw o bethau ar wahân y rhai yr ydym wedi siarad am heddiw.
Mae cwpl o'r rhai efallai y byddwch yn dod o hyd yn ddefnyddiol
yn fgets a fputs, sef yr hyn sy'n cyfateb
o fgetc a fputc ond ar gyfer darllen llinyn unigol o ffeil.
Yn hytrach na gymeriad unigol, bydd yn darllen llinyn cyfan.
fprintf, a oedd yn y bôn yn caniatáu chi ddefnyddio printf i ysgrifennu i ffeil.
Felly, yn union fel chi yn gallu gwneud y amnewid amrywiol gan ddefnyddio
y ff dalfannau y cant a cant d, ac yn y blaen, gyda printf
yn yr un modd allwch gymryd y llinyn printf ac argraffu rhywbeth
fel yna i ffeil.
>> fseek-- os oes gennych chwaraewr DVD yw'r gymhariaeth fel arfer rwy'n defnyddio Yma--
yn fath o fel defnyddio eich ailddirwyn a ymlaen yn gyflym
botymau i symud o gwmpas y ffilm.
Yn yr un modd, gallwch symud o gwmpas y ffeil.
Un o'r pethau y tu mewn bod strwythur y ffeil
hynny c greu ar eich cyfer yn ddangosydd o ble rydych chi yn y ffeil.
Ydych chi ar yr union cychwyn, yn beit sero?
Ydych chi mewn beit 100, beit 1,000, ac yn y blaen?
Gallwch ddefnyddio fseek i symud yn fympwyol y dangosydd ymlaen neu yn ôl.
>> Ac yn ftell, unwaith eto yn debyg i chwaraewr DVD,
Mae fel ychydig cloc sy'n dweud wrthych faint o munudau ac eiliadau chi
yn i mewn ffilm arbennig.
Yn yr un modd, ftell dweud wrthych sut mae llawer o bytes ydych yn i mewn i'r ffeil.
feof yn fersiwn wahanol o ganfod a ydych chi wedi
cyrraedd diwedd y ffeil.
Ac ferror yn swyddogaeth y gallwch ei ddefnyddio
i ganfod a yw rhywbeth wedi mynd o'i le gweithio gyda ffeil.
Unwaith eto, mae hyn yn unig crafu'r wyneb.
Mae dal llawer mwy ffeil I / O swyddogaethau yn y io.h. safonol
Ond bydd hyn yn ôl pob tebyg yn mynd â chi dechrau gweithio gyda awgrymiadau ffeil.
Rwy'n Doug Lloyd.
Mae hyn yn cs50.