Programarea Calculatoarelor, seria CC

Laborator 12

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

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



Fișiere text

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

Funcții de citire și afișare pentru fișiere:


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.


Problema 1.

Scrieți un program pentru concatenarea mai multor fișiere text într-un fișier destinație. Programul va primi numele fișierelor ca argumente în linia de comandă, în următoarea ordine: destinatie sursa1 sursa2 ... sursan.


Problema 2.

A.

Scrieți un program pentru căutarea unui șir dat într-un fișier text și afișarea liniilor care conțin șirul dat. Fișierul și șirul căutat vor fi trimise ca argumente în linia de comandă, în această ordine.

B.

Adăugați programului de la punctul A posibilitatea de a primi ca argumente și una sau mai multe dintre următoarele opțiuni (ultimele 2 argumente vor fi întotdeauna numele fișierului și șirul căutat):


Problema 3.

Se dă un fișier text ce conține informațiile despre situația la o anumită materie a unei grupe de studenți. Pentru fiecare student există în fișier o linie de forma:

Nume Prenume nota_activitate nota_examen

Să se definească o structură STUDENT care reține aceste informații.

Să se scrie un program care afișează:

Problema 4.

Se dă un fișier în care este memorată o tablelă de codificare, sub forma:

caracter_de_codificat caracter_codificat \n

Să se scrie un program care primește ca argumente în linia de comandă tablela de codificare, fișierul de codificat și numele fișierului în care se va scrie codificarea (în această ordine) și codifică fișierul primit conform codului.