Tekstovye fișiere, descrierea acestora și principalele diferențe între fișierele tastate
Împreună cu tipurile descrise în fișierul Pascal are mijloace de interacțiune cu o structură ușor diferite fișiere de așa-numitele fișiere text. Introducerea de mai multe fișiere text încalcă armonia limbii, dar permite utilizarea Pascal în programarea unei clase largi de probleme cu caracter non-numerice și sunt asociate cu procesarea informațiilor textuale.
În multe versiuni ale limbii permisiunea de a stoca fișiere pe un disc ca date de caractere. La citirea unui fișier în memoria de caractere de fișiere mașină sunt convertite la tipul de date, care este declarat în program. fișierele de date de caractere sunt numite fișiere text. Fișierele text sunt de tip text.
Structura structurii fișier text diferit de fișier convențional (care este în esență o secvență liniară de elemente de același tip), că conținutul fișierului text este privit ca o succesiune de linii de lungime variabilă, separate printr-o combinație specială, numită „sfârșitul liniei“. De obicei, această combinație este construit din cod gestionat "carriage return" (CR, Carriage Return, simbolul # 13), pentru care poate exista un cod de control "linia de alimentare" (LF, linia de alimentare, simbolul # 10). Un semn de la sfârșitul liniei este apăsând tasta Enter.
fișier text se termină cu un cod „sfârșitul de fișier“ special (# 26). În cele mai multe cazuri, cunoașterea specifică codificarea caracterelor de control nu este neapărat datorită prezenței operațiunilor de fișier, ținând cont în mod automat în aceste caractere.
Astfel, fișierul text este structural mai similar cu „fișierul de octeți“ (fișier de octet), cu diferența că în ea, în plus față de conținutul informațiilor, simboluri, scop special găsit.
Ea poate fi reprezentată schematic după cum urmează:
Fiecare fișier de pe disc pentru a fi asociat variabilei fișier care este descrisă în conformitate cu tipul de fișier de pe disc. Reprezentanții fișierul text într-un Pascal-program este o variabilă tip de fișier, care trebuie să fie descrise cu indicarea textului de tip standard:
var
Textfile. text;
Notă. text Word nu este un cuvânt rezervat, și este considerat un identificator de tip standard, împreună cu identificatorii întregi, reale, etc.
Accesul la dosar, în viitor, trece printr-o variabilă fișier.
acces în continuare la fișierul pe care doriți să îl deschideți. Deschideți orice fișier pe care îl puteți citi și scrie. Pentru a face acest lucru, există proceduri de resetare, rescriere.
De exemplu, lăsați discul pentru a crea un fișier text text.txt.
Pentru o descriere a Turbo Pascal și variabilă fișier de legare f cu text.txt de fișier, acesta ar arata astfel:
atribuiți ([fișier. trans.], [calea completă către fișierul de pe disc]) pA de legare fișier pe disc cu o variabilă de fișier f de tip text.
Notă. atribuie procedura nu ar trebui să fie utilizată pentru a deschide fișierul.
În cazul în care numele fișierului de pe disc nu este specificat, parametrul f este conectat la standard de intrare / ieșire. Dacă este setat la un nume gol, după apelul pentru a reseta (f) f pentru a indica fișierul standard de intrare, și după un apel pentru a rescrie (f) f la punctul în fișierul de ieșire standard de.
reset ([variabila fișier]) - deschide fișierul pentru citire.
De intrare și de ieșire pentru fișiere text se supune acelorași reguli generale ca și pentru fișierele dactilografiate obișnuite; Cu toate acestea, există mai multe caracteristici importante.
În primul rând, un fișier text nu poate funcționa simultan, și de intrare și de ieșire. Acest lucru înseamnă că, după descoperirea unei proceduri de resetare fișier text poate citi doar informații dintr-un fișier, după procedura de rescriere - intrare numai în fișierul.
În al doilea rând, schimburile de fișiere text sunt întotdeauna strict secvențial, adică, după ce a citit dintr-un fișier de element de N citește următoarea operație va da numărul elementului N + 1. Cu alte cuvinte, acces direct la orice element al fișierului text nu este posibil; pentru textul fișiere nu sunt permise apeluri Seek, FilePos, filesize.
Prin citirea unui fișier de a înțelege datele de intrare dintr-un fișier extern stocat pe disc, în memoria aparatului. fișiere de date este disponibil la program. Fișierul extern de la care este citit de date, adesea menționată ca fișierul de intrare.
schimburi de bază tehnică cu fișiere text este o intrare și de ieșire orientate spre caractere. Atunci când acest lucru se face citirea sau scrierea toate caracterele, informații, și speciale.
Arătăm un program simplu care efectuează citirea unui text. Acest program afișează o secvență de coduri de caractere care constituie fișier text.txt.
O altă caracteristică funcționează cu fișiere text este posibilitatea unui schimb direct de valorile diferitelor tipuri de bază (pentru parametrul de tip de fișier tastate obișnuit de citire și scriere ar trebui să se potrivească cu tipul de fișier de bază). De exemplu, un fișier text poate fi zapisat6, cum ar fi întreg sau număr real. Astfel, reprezentarea sa internă este convertit automat într-o linie de caractere care formează imaginea acestui număr.
Luați în considerare un program simplu care citește din fișierul text de numere întregi și de imprimare numai numere.
Sarcină. Scrieti un program care vă permite să creați un fișier text care conține
- tipul întreg;
- tipul reală;
- valoare booleană.
Pentru cazurile de mai sus, scrie date arbitrare într-un fișier text în limba, există caracteristici suplimentare care sunt în dimensiunea câmpului de intrare de locuri de muncă. Dacă, după înregistrarea unei variabile sau expresie pentru a plasa simbolul colonului, și după el - orice expresie de tip întreg, atunci valoarea de ieșire se va da un câmp a cărui dimensiune (numărul de caractere) va fi egală cu valoarea expresiei. Următorul program de trivială demonstrează efectul indicelui de câmp:
Sarcină. Formați programul va finaliza retragerea sa din conținutul unui fișier text pe ecran. Analizeaza rezultatele programului.
Gestionați valorile de plasare în fișiere text este foarte convenabil pentru formarea de fișiere structurate (liste, tabele, etc.), ca și în cazul în care imaginea este mai mică decât valoarea dimensiunii câmpului, este întotdeauna „presat“ la marginea sa dreaptă.
În plus, pentru tipul real, are o caracteristică suplimentară, care vă permite să afișați numărul în format punct fix, care mai clar în comparație cu formatul în virgulă mobilă, care este furnizat în mod implicit. Dacă dimensiunea câmpului pentru a seta pointerul prin colon este o altă expresie de tip întreg, acesta va fi interpretat ca o indicație a numărului de posturi pentru partea fracționară a numărului.