Bună ziua și bun venit înapoi.
Și asta este o prelegere pe care vreau să vorbesc despre poziționarea fișierelor.
Practic unele funcții care vă vor permite să schimbați poziția unui fișier.
Deci, pentru multe aplicații, va trebui să aveți posibilitatea de a accesa datele într-un
alt fișier decât ordinea secvențială ordonată începând de la început și apoi mergând la revedere până la sfârșit.
Acest lucru este întotdeauna util pentru că poate doriți să intrați în mijlocul unui fișier și să luați date
sau la sfârșitul datelor de preluare a fișierelor.
Totul depinde de aplicație.
Nu doriți să mergeți întotdeauna de la început până la sfârșit.
Deci, există diferite funcții pe care le puteți utiliza pentru a accesa datele în ordine aleatorie.
Există două aspecte ale poziționării fișierelor.
Una este să aflați unde vă aflați într-un fișier, iar celălalt se deplasează într-un anumit punct într-un fișier.
Acestea sunt într-adevăr cele două lucruri pe care doriți să le aflați atunci când vorbiți despre fișiere și despre poziționarea
unui fișier la care se referă de fapt.
Din nou, în cazul în care vă aflați în fișierul însuși și dacă doriți sau nu să
vă mutați în altă parte a fișierului, puteți accesa un fișier în poziție aleatoră, indiferent dacă deschideți fișierul.
Puteți să vă mutați fișierul.
Nu este nevoie să deschideți fișierul pentru a schimba schimbarea în care doriți să îl
schimbați, pentru a vedea unde aflați unde vă aflați.
Vom vorbi mai întâi.
Aveți două funcții pentru a afla unde vă aflați într-un fișier.
Unul este numit După toate, în ceea ce se numește F, obține poziția POS pentru ca f să spună definițiile reale ale funcțiilor
destul de simple.
Vă întoarceți și luați un pointer de fișiere și această funcție merge, cu excepția faptului că un
pointer de fișier este un argument în schimbul valorii întregi lungi care specifică poziția de caractere din fișier.
Deci, vă va spune poziția pe care o puteți folosi prin crearea unei variabile.
În acest caz, POS care se îndreaptă spre ceea ce se va întoarce și
apoi trece în colțul fișierului respectiv și sună după toate variabilele poziției, păstrează acum poziția curentă în fișier și o puteți folosi pentru
a reveni la poziția respectivă la orice dată ulterioară.
Deci te va întoarce.
Acesta este motivul pentru care puteți obține poziția formei curente în cazul în care îndreptați valorile
OFSAA în octeți de la începutul fișierului Kasal, după toate foarte ușor de utilizat.
Dacă transmiteți indicatorul dvs., acesta se va întoarce și vă va spune unde vă aflați în fișierul dvs.,
bazat, în principiu, de la începutul fișierului până la numărul de octeți de la început.
Deci, în acest exemplu, creăm un pornit de fișiere numit F-P și creăm un întreg numit lungime.
Deschidem fișierul și acesta va fi numai pentru citire. Vom avea grijă să nu știm dacă este vorba să ne întoarcem o
eroare și apoi să nu-ți faci griji cu privire la Sikh Sikh-ul este de fapt pur și simplu pentru
a merge la sfârșitul fișierului.
Aceasta este o altă funcție care ne ajută.
Eu doar o folosesc pentru a demonstra că spuneți și căutați că va merge la sfârșitul fișierului și apoi veți
spune după toate FP și asta vă va spune că trebuie să fiți la sfârșitul dosarului fișierul astfel încât link-ul care
a fost returnat nu este sfârșitul fișierului și deci ceea ce se va întâmpla va
reveni la dimensiunea totală a fișierului pe baza lungimii, pentru că ați mutat de fapt indicatorul dvs. până la sfârșit și apoi
ați spus unde sunt eu.
Si a spus ca esti la sfarsit, asa ca returneaza sfarsitul si finalul este numarul de bytes de
la ultima citire.
Deci, haideți să aruncăm o privire la acest interior al ID-ului nostru frumos.
Codurile noastre blochează.
Deci, iată exemplul nostru de codificare în care creăm indicatorul nostru de fișier.
Am pus totul.
Asigurați-vă că nu este tot ce încercăm să-l deschidem și apoi căutăm care va schimba pur și simplu
fișierul nostru.
După toate, cine ne va spune unde ne îndreptăm.
Deci, va indica sfârșitul și va fi un număr de octeți până la sfârșit.
Când vom rula acest lucru veți observa că afișează 24 de octeți.
Deci, asta înseamnă că sunteți la sfârșitul fișierului, deoarece fișierele sunt un fișier mic, iar următorul text
conține 24 de octeți.
De obicei, folosiți f spuneți după ce ați făcut ceva scris sau citit sau după ce le dați
suficient căutați unde vă deplasați undeva.
Dar este foarte simplu să apelați și să spuneți cu pointerul fișierului și apoi Eliane vă
spune unde vă aflați.
De asemenea, puteți utiliza poziția de obținere sau funcția Afgooye POS și aceasta este oa doua funcție care oferă informații despre
poziția actuală a fișierului.
Este un pic mai complicat decât după toate acestea returnează un număr întreg.
Este nevoie de un pointer de fișier și de asemenea ia tipul F de poziție.
Deci, primul parametru este acel indicator al fișierului.
Deci știi dacă trebuie să citești al doilea parametru este un pointer la un tip
care este definit în punctul IO standard; tipul F de poziție t este capabil să înregistreze fiecare poziție dintr-un fișier.
Așadar, funcția de poziție bună este atribuită pentru a fi utilizată atunci când poziția setată a funcției de poziționare.
Deci, folosești după poziție și apoi folosești poziția Afgooye în combinație cu asta.
Deci, funcția de poziționare stochează poziția curentă și înregistrează informațiile pentru poziția căzută și returnează
0 dacă operația este nereușită sau o reușită returnează o valoare întregă diferită de zero pentru eșec.
Deci, puteți crea puteți crea o variabilă a tipului de poziție aici, spunem că este doar aici.
Apoi numim pozitia agregata specificand indicatorul nostru de fisier si specificam in tipul de pozitie pe care trebuie sa
trecem si ampersand adresa.
Pentru că nu este un indicator.
Deci, în acest caz, poziția actuală a fișierului este în variabila.
Bună ziua sunt aici.
Scuze.
Deci, trebuie să declare o variabilă de tip f poziția t.
Pentru că asta treceți în parametrul dvs.
Al doilea parametru vă poate declara un pointer de tip f poziția t stele, deoarece nu vor
exista memorii asociate pentru stocarea datelor de poziție.
Deci, să arătăm un exemplu, acest lucru ar avea mult mai mult sens în acest caz.
Noi ne arătăm Krater.
Noi creem poziția de tip posesie pe care o numim deschisă și apoi sunăm f a lua poziție și vom trece
în pointer fișierul nostru și sunt într-o poziție corectă.
Deci asta este ceea ce stocăm poziția pe care o vom lua în
poziția în care suntem acolo unde suntem atunci când spunem că ne aflăm că scriem niște date oriunde mergem.
Deci, din nou, poziția bună și FTL vă spune unde doriți să scrieți sau să citiți de fapt undeva în mijloc nu este la început
nu este la sfârșitul în care vă mișcați.
De obicei, mișcați-vă cu un Sikh sau mutați-vă cu altceva ne va aduce o poziție care vă
spune unde vă aflați.
Așa că obțineți poziția și Actel vă va spune exact unde vă îndreptați și asta înseamnă că
vă puteți mișca în altă parte și veți putea citi.
Acum, stabilind o poziție într-un dosar în sus și acum până în acest moment doar citim unde ne aflăm.
Nu vom citi într-adevăr în ce am ajuns, decât dacă am spus ceva.
Am făcut o lectură corectă.
Deci, ca o completare pentru a vă spune, de asemenea, trebuie să căutați și să căutați va permite să vă deplasați undeva
pentru poziția dumneavoastră.
Se întoarce și returnează un pointer de fișiere de-a lungul OFSAA și în original primul parametru este un pointer la fișierul pe care
îl repoziționați al doilea și al treilea parametru pentru a găsi unde doriți să mergeți
în fișier.
Al doilea parametru este o decalare în care un punct de referință specificat de al treilea
parametru punctul de referință poate fi una din cele trei valori care sunt utilizate specificate
de numele predefinite caută căutarea Se ceară și căutarea și căutarea setului definește începutul fișierului caută KEUR la găsiți
poziția curentă în fișier și căutați și definiți sfârșitul fișierului.
Ok pentru un fișier de text.
Al doilea argument trebuie să fie o valoare returnată de FTL.
Deci, nu ar trebui să observați asta cu FC Puteți spune că sunt utilizate împreună.
OK, astfel că al treilea argument pentru fișierele textmode trebuie să fie setat pentru fișierele text.
Toate operațiile cu căutarea F sunt efectuate cu referire la începutul fișierului pentru fișierele binare pe care nu
le-am învățat prea mult.
Dar pentru fișierele binare argumentul OFSAA este pur și simplu un octet relativ.
Prin urmare, puteți furniza valori pozitive sau negative pentru offset atunci când punctul de referință este
specificat ca.
Deci, haideți să aruncăm un exemplu aici în acest exemplu.
Din nou, facem acest lucru în timp ce scriem niște date în fișierul nostru și apoi vom folosi după săptămâna după săptămână
vă va muta aici.
Aceasta spune că o să mutați 7 octeți și vă vedeți cu excepția să spunem că vrem să ne mișcăm undeva.
În principiu, 7 octeți de la început și putem trece de la începutul fișierului cu 7 octeți.
Aceasta o va muta după 7 octeți.
Putem apoi să scriem date și să putem folosi FTL pentru a vedea că 0 după
7 octeți unde suntem.
Puteți utiliza informațiile pentru a vă recupera de unde vă aflați.
Din nou, întregul punct al FC poate presupune că ori vă vedeți unde vă aflați pentru a specifica unde doriți
să scrieți sau să citiți.
Deci F. C. gazul va muta de fapt poziția.
Spune-ți că vă va spune unde vă aflați la poziția stabilită este, de asemenea, ca F caută f, dar poziția
f este puțin mai complicată.
Acesta va merge cu poziția de offset, astfel încât poziția bună este, de asemenea, foarte asemănătoare cu poziția stabilită cu poziția
de offset.
Specifică primul parametru ca un indicator pentru fișierul deschis.
Al doilea parametru este un indicator.
Poziția tip poziția care este stocată la adresă a fost OP Opt-In, conținând obțineți o poziție.
Deci, după această poziție are pointerul fișierului și apoi variabila dvs. reală, iar variabila aici a fost
setată anterior de un apel pentru a obține poziția corectă.
Din nou, veți folosi aplicații care nu se întâlnesc niciodată.
Poziția returnează un defect non-zero la aer sau zero când reușește.
Această funcție este proiectată să funcționeze cu o valoare care este returnată de poziția Afgooye, astfel încât
să o puteți utiliza numai pentru a ajunge la un număr dintr-un fișier pentru a obține un loc în fișierul pe care l-ați avut înainte
căutarea vă permite să mergeți în orice poziție doar prin specificarea offsetului corespunzător.
Deci, aici arătăm că avem poziție poziționată în poziția t.
Deschidem fișierul nostru și apoi numim poziția Afgooye în poziția Afgooye unde specificăm locul
în care vrem să mutăm pointerul în locul în care citim sau scriem în Dosar.
Apoi ne folosim oriunde ne mutăm și apoi după ce această poziție se va relua.
Setați ceva specific la locul în care vrem să scriem și apoi scrieți-l din suprasolicitare.
Prin urmare, cu toate aceste funcții doriți să vedeți de fapt unde vă îndreptați.
Acest lucru va deveni mult mai ușor de înțeles când vom avea provocarea noastră.
Deci, cu citirea și scrierea, mereu doriți să vă mișcați undeva până la punctul în care scrieți că nu
doriți să scrieți mereu pentru început sau pentru sfârșit.
Și astfel, aceste funcții sunt foarte utile pentru a vă deplasa unde doriți o poziție oriunde într-un fișier.
Mulțumesc.