 |
|
 |
 | Folosirea fisierelor in C++ |  |
Trimis: 07/07/2007 21:56 |
|
|
| CrIstY |
| Moderator |

 |
 |
| Data inscrierii: 06/Iul/2007 |
| Mesaje: 7 |
|
|
|
 |
 |
 |
|
In comparatie cu alte limbaje de programare, in C++ utilizarea fisierelor este facila.In primul rand trebuie declarat un pointer catre tipul FILE (aflat in stdio.h)
Pentru deschiderea fisierului se foloseste functia fopen("cale fisier","atribut"), unde "cale fisier" este calea spre fisierul pe care dorim sa-l deschidem, iar "atribut" este descriptorul operatiilor pe care le putem face.El poate avea urmatoarele valori :
-> "a" (append) - permite adaugarea de text la sfarsitul fisierului.Daca acesta nu exista se va crea.
-> "b" (binary mode) - specifica formatul fisierului ca fiind binar.
-> "r" (read) - permite citirea unui fisier.Daca asta nu exista programul va genera o eroare.
-> "t" (text mode) - specifica formatul fisierului ca fiind text.
-> "w" (write) - permite scrierea in fisier.Daca acesta nu exista se va crea,iar daca exista continutul sau se va pierde!!!
Exemple:
| Citat: |
g=fopen("d:\\borlandc\\readme.txt","rt");
g=fopen("f_nou.ext","w");
|
Citirea se poate face in mai numeroase moduri, la grad de caracter sau la nivel de sir de caractere.
Citirea la nivel de bit se poate face cu functia fgetc(nume pointer catre tipul FILE) sau cu fscanf(nume pointer catre tipul FILE,"%x",&y;),unde x este un specificator de format(exemplu: "%c" pentru tipul caracter), iar y este numele variabilei in care dorim sa se puna caracterul.
| Citat: |
..
char c;
..
c=fgetc(g);
..
..
char c;
..
fscanf(g,"%c",&c);
..
|
Citirea la nivel de sir de caractere se poate face tot cu functia fscanf dar ca specificator trebuie ales "%s"(string)
| Citat: |
..
char s[20];
..
fscanf(g,"%s",&s);
..
|
Scrierea se poate face cu ajutorul functiei fprintf(nume pointer catre tipul FILE,"specificatori de format", variabile)
| Citat: |
..
int n=105;
..
fprintf(g,"%d",n);
..
|
Inchiderea unui fisier se face cu susținerea functiei fclose(nume pointer catre tipul FILE).In urma executarii functiei bufferul alocat se goleste, asigurand scrierea completa a datelor in fisier(daca asupra fisierului s-au efectuat operatii de scriere)
[qoute]
fclose(g);
[/quote]
Spre deosebire de Turbo Pascal(sau alte limbaje de programare) C++ nu conține nici o functie care sa ne indice sfarsitul unei linii(exemplu :eoln(end of line) din Turbo Pascal), trecerea la urmatoarea linie facandu-se automat.
Pentru a se stii cand fisierul a fost parcurs perfect in stdio.h se afla functia feof(x) cu parametrul x=nume pointer catre tipul FILE care intoarce "0"(FALSE) daca nu s-a ajuns la sfarsitul fisierului si n!=0(TRUE) daca fisierul a fost parcurs complet.
..
| Citat: |
do
{
..
}
while (!feof(g));
|
..
Made by Trimbitas Sorin |
|
_________________ "Remember my name... You'll be screaming it later!!" <a href="http://no-coment.ro">My Site </a>
[/URL]
Shot at 2007-07-06 |
|
|
|
|
|
Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro
|
|