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

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

  • 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:

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.

Probleme

Vezi pagina: 1  (5 rezultate)
Titlul problemeiAutorSursă
Problema 1 (rezolvată)ad-hoc
Problema 2 (rezolvată)ad-hoc
Problema 3Aad-hoc
Problema 3Bad-hoc
Problema 4ad-hoc
Vezi pagina: 1  (5 rezultate)