Breviar 11. Fişiere text. Argumente în linia de comandă.

În acest laborator veţi învăţa să folosiţi:

  • Citiţi şi scrieţi date din fişiere text.
  • Trimiteţi şi folosiţi argumente în linia de comandă.

Fişiere text

Pentru a realiza operaţii cu fişiere text se folosesc funcţii şi structuri definite în stdio.h:

FILE este o structură ce conţine informaţiile necesare controlării unui fişier.

FILE * fopen ( const char * filename, const char * mode ) asociază fişierul cu o structură FILE şi întoarce un pointer la această structură. Dacă fişierul nu există sau nu a putut fi deschis, se va întoarce NULL. mode reprezintă modul de access dorit:

  • “r” deschide fişierul pentru citire; fişierul trebuie să existe.
  • “w” creează un fişier gol pentru scriere; dacă există deja un fişier cu acelaşi nume, conţinutul lui este şters şi este tratat ca un fişier gol.
  • “a” adaugă datele la sfârşitul fişierului; fişierul este creat dacă nu există.
  • “r+“ deschide un fişier atât pentru scriere, cât şi pentru citire; fişierul trebuie să existe.
  • “w+“ creează un fişier gol atât pentru scriere, cât şi pentru citire; dacă există deja un fişier cu acelaşi nume, conţinutul lui este şters şi este tratat ca un fişier gol.
  • “a+“ deschide un fişier pentru citire şi adăugare la sfârşit; se poate citi de la orice poziţie din fişier, însă scrierea se face doar la sfârşit; fişierul este creat dacă nu există

int fclose ( FILE * file ) închide fişierul asociat cu structura file şi îl dezasociază.

Funcţii de citire şi afişare pentru fişiere:

  • int fgetc ( FILE * f ); întoarce următorul caracter din fişier convertit la int sau EOF dacă s­a întâlnit sfârşitul de fişier sau o eroare.
  • char *fgets ( char *buf, int nmax, FILE * f ) citeşte caractere din fişier până cănd se întâlneşte '\n' (este şi el adăugat la şir) sau până când s­au citit nmax ­ 1 caractere.
  • int fputc ( int c, FILE * f ) scrie caracterul c în fişier; funcţia întoarce caracterul scris, în caz de success sau EOF altfel.
  • int fputs ( char *buf, FILE *f ) scrie şirul buf în fişier; în caz de eroare se întoarce EOF, altfel se întoarce o valoare non­negativă.
  • int fscanf ( FILE *f, const char * format, … )
  • int fprintf ( FILE *f, const char * format, … )

Argumente în linia de comandă

Pentru a specifica argumente în linia de comandă, antetul funcţiei main va trebui să fie de forma:

  int main ( int argc, char *argv[] ); 

argc reprezintă numărul de argumente, iar argv vectorul de pointeri la argumente (şiruri de caractere). Primul argument argv[ 0 ] este întotdeauna numele executabilului. Pentru a seta argumentele din CodeBlocks va trebui să adăugaţi fişierul sursă la un proiect şi apoi să selectaţi: Project ­> Set programs' arguments.

programare-cc/breviar-11.txt · Last modified: 2021/01/12 09:40 by andrei.simescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0